20194698 自动生成四则运算题第一版报告
1.需求分析>>
共有四种运算加减乘除。
2.功能设计>>
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
3.设计实现>>
c语言编写。
主函数main。
rand 产生随机数。
4.测试运行>>


5. 代码片段>>
//控制运算是否含负数
printf("操作数是否含负数(是0)(否1):");//操作数是否含负数
scanf("%d",&f);
if(f==0)//if语句确定正负数使用
{
f=100,g=49;
}else
{
f=100,g=0;
}
a=rand()%f-g;//随机生成规定范围内的数字 rand()函数在使用时应有头文件#include<stdlib.h>
b=rand()%f-g;
//四则运算要想每道题+ ,-,*,/都是随机的,我就想到了用分支函数,通过用if 语句,我感觉有点麻烦,然后我就想到了switch()函数,且通过随机产生0,1,2,3 四个数来进行分支,比较方便一点。
switch(d) { case 0:printf("%d + %d=%d\n",a,b,a+b);break; case 1:printf("%d - %d=%d\n",a,b,a-b);break; case 2:printf("%d * %d=%d\n",a,b,a*b);break; case 3:printf("%d / %d=%d\n",a,b,a/b);break; }
//剔除相同算式
A[y]=a; //剔除相同算式 A1[y]=b; for(s=0;s<y;s++) { if(A[s]==A[y]&&A1[s]==A1[y]) { flag++; break; } } if(flag==1) { y++; flag--; continue; }
6.总结>>
1.充分利用可重用的代码。
2.可读性强,逻辑清晰。
3.完成所需的要求。
7.psp>>

浙公网安备 33010602011771号