自动生成四则运算题目

 

题目:自动生成四则运算题目编程

 

主要功能:能够生成20之内除整数之外,支持真分数的四则运算,生成须要的题数量,题目随机。框架

 

设计思想:首先,我先从编写最简单的部分开始入手,将须要生成的8种可能出现的题目格式编写出来基本代码以下:编程语言

#include<stdio.h>
int main()
{
int a,b,x,y,; 
printf("%d+%d=\n",a,b);
printf("%d-%d=\n",a,b);
printf("%d*%d=\n",a,b);
printf("%d/%d=\n",a,b);
printf("%d/%d+%d/%d=\n",a,x,b,y);
printf("%d/%d-%d/%d=\n",a,x,b,y);
printf("%d/%d*%d/%d=\n",a,x,b,y);
printf("%d/%d/%d/%d=\n",a,x,b,y);
}

将以上代码编写完毕后,运行,会发现a,b,x,y这四个数的数值会很是大,因此接下来我选择去定义数值的大小,rand()语句来定义数值大小,虽然本身能够简单写出rand()定义数值大小的代码,可是在编写程序随机出现次数的地方,遇到了麻烦,一开始我编写的程序只能固定生成一个数值,一直都是1/7-=这个题目,在这里我遇到了瓶颈,在加上本身的基础知识并不牢固,因此无从下手,这之间我参考了网上,主要是百度知道为主,观看其余人在编写这个程序时遇到的问题,找到了基本入手的框架。在后来,经过学习,本身试着添加了能够管理生成题目数量的功能。学习

参考网页:url

http://zhidao.baidu.com/link?url=wKnpo3-cgxWvaEfToguP3pdLzNX4hsT1n70TWgjuSjdInjISfFXaoTVIq4WjD30V_qY0_HKTNYHA9GVuhWDp-qspa

 

在此网页上,在回答的好心人里我看到了,使程序能够随机生成须要次数的语句设计

#include <time.h>
srand((unsigned)time(NULL));
for (i=0;i<10;i++)
参照,这个网页所给的框架,通过对本身程序的修改最终将总体程序完成了一个随机生成题目数目和题的程序。
源代码:
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
main(){
int a,b,x,y,i,j,z;
srand( (unsigned)time( NULL ) );
printf("题目数量:");
scanf("%d",&i);
for(j=0;j<i;j++)
{
a=rand()%20;
b=rand()%20;
x=rand()%20;
y=rand()%20;
z=rand()%7;
switch(z){
case 0:printf("%d+%d=\n",a,b);break;
case 1:printf("%d-%d=\n",a,b);break;
case 2:printf("%d*%d=\n",a,b);break;
case 3:printf("%d/%d=\n",a,b);break;
case 4:printf("%d/%d+%d/%d=\n",a,x,b,y);break;
case 5:printf("%d/%d-%d/%d=\n",a,x,b,y);break;
case 6:printf("%d/%d*%d/%d=\n",a,x,b,y);break;
case 7:printf("%d/%d/%d/%d=\n",a,x,b,y);break;
}
}
}

程序运行截图:code

 

 

总结:blog

   一开始我只是作了生成一个随机题目的程序便发到了博客里,可是我看了别的同窗还添加了能够管理生成题目数量的功能,我以为个人程序并不够好,便经过学习试着添加了这个功能,让个人程序更加完善了。经过此次做业,个人收获不少,由于本身的基础并非很好,因此,有些代码能够说并不知道,经过此次编写题目生成程序,让我学到了不少新的代码,最深入的就是编写随机生成题目数目的代码:ci

#include<time.h>
 srand( (unsigned)time( NULL ) );
     for( j = 0; j < i;j++ )

在编程中我也遇到了不少问题,好比在最后一步设计输入题目数量的时候,无论怎样输入数量题目只能生成一道题,最后,通过本身上网查看资料和同窗的帮助解决了问题,缘由是本身少定义了一个变量,switch语句和以前定义题目数量时使用的变量重复,致使程序出现了错误。此次做业也让我认识到,只有不断重复的练习,才能真正掌握其中运用的语言,通过大一的c语言学习,到如今已经好久没用过了,也有不少知识点有所遗忘,我也好好复习了以前的知识。此次编程做业,我了解到本身的不少不足,和其它一些学习优秀的同窗比,我应该多向他们学习,用更多地时间去多练习下编程语言,其实此次的做业我虽然完成了,可是也有不少须要改进的地方,看别的同窗编的程序,还新增长了问答系统。在课下,我会多看看这些人编的程序,看看这些功能是如何实现的,本身也学习下。此次做业所运用的编程语言知识,我也会多加练习,将其完全掌握理解。

相关文章
相关标签/搜索