一、设计思想:
1、首先主函数只用来调用随机产生并输出运算题目函数,随机产生并输出这一部分功能用一个randout函数实现;
2、随机产生运算数这一功能,两个运算数可以用随机函数生成,并将它们控制在100以内。其中,考虑到除数不能为零,第二个运算数随机产生时+1;
3、随机产生运算法则这一功能,运算法则一共有4种,也可以随机产生0-4的数,分情况进行四则运算。
二、源代码:
#include "stdafx.h" #include "stdlib.h" void randout() //产生随机数并产生随机运算函数 { int x1,x2; //两个运算数 int i,j; for(i=0;i<30;i++) { x1=rand()%100; x2=rand()%100+1; //除数不能为零 j=rand()%4; //j的值确定运算 if(j==0) printf("%d+%d ",x1,x2); if(j==1) printf("%d-%d ",x1,x2); if(j==2) printf("%d*%d ",x1,x2); if(j==3) printf("%d/%d ",x1,x2); } printf(" 出题完毕! "); } int _tmain( ) { printf("随机生成的30道运算题为: "); randout(); //调用函数 return 0; }
三、运行结果:
四、分析原因:
1、首先看到这道题目,我想到的是两个运算数能用随机函数产生,但是运算法则想不到怎么随机出现;
2、如果仅仅实现运算数随机而运算法则有规律的出现,循环时又卡壳了;
3、运用随机函数时,头文件出错,而且输出有些生疏。