自动生成四则运算题目
- 主要功能:随机生成四则运算题目
- 设计思想:先通过一个简单的四则运算,再不断完善
- 源代码
#include"stdio.h" main(){ int a,b,c,d; printf("自动生成四则运算:\n"); printf("%d+%d= \n",a,b); printf("%d-%d= \n",a,b); printf("%d*%d= \n",a,b); printf("%d/%d= \n",a,b); }
这是刚开始编写的四则运算,是最简单的四则运算,同时也有着很多缺点,如:数值太大,随机生成的数字是伪随机数,无法生成分数的四则运算,加减乘除无法随机生成。
为解决随机数值太大的问题我运用了int rand(void)产生随机数的函数并且加上了限制rand()%100使其只能生成0~99之间的整数。而为了解决伪随机数我运用了srand( (unsigned)time(0 ))这以段代码。我将加减乘除四个符号同样以rand()函数来随机生成。
#include"stdio.h" #include"stdlib.h" #include"time.h" main(){ char i; int a,b,c,d,n,m,j,k,e; printf("**********自动生成四则运算***********\n"); printf("1.开始\n"); printf("2.退出\n"); printf("请选择:\n"); scanf("%d",&n); if(n==1){ srand((unsigned)time(NULL)); printf("请输入生成的题数:"); scanf("%d",&m); for(j=0;j<m;j++){ e=rand()%4; if(e==0){i='+';} if(e==1){i='-';} if(e==2){i='*';} if(e==3){i='/';} a=rand()%100; b=rand()%100; c=rand()%100; d=rand()%100; k=rand()%2; switch(k){ case 0:printf("%d%c%d=\n",a,i,b);break; case 1:{if(a<=b&&c<=d)printf("%d/%d%c%d/%d=\n",a,b,i,c,d); else if(a>b&&c>d) printf("%d/%d%c%d/%d=\n",b,a,i,d,c); else if(a<=b&&c>d) printf("%d/%d%c%d/%d=\n",a,b,i,d,c); else if(a>b&&c<=d) printf("%d/%d%c%d/%d=\n",b,a,i,c,d); }break; } } } if(n==2){ exit(0); return 0; } }
- 程序运行截图:
- 总结:
经过这次编写四则运算,在我不断修改的过程中,我重新开始掌握C语言,并从中也学到了很多,自己明显感觉到自己在一次一次的修改中不断进步。