四则运算练习题
我是使用的C语言编程,先解决了最简单的问题。生成300道题目。
我的想法是用C语言生成随机数的函数。并且用0123这四个数分别代表加减乘除四个运算符号。代码如下
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=0;i<300;i++)
{a=rand()%100;
b=rand()%100; //生成两个0~99的随机数
c=rand()%3; //生成0~2的随机数
if(c==0)
printf("%d * %d= " ,a,b);
else if(c==1)
printf("%d / %d= " ,a,b);
else if(c==2)
printf("%d + %d= " ,a,b);
else
printf("%d -%d= "a,b);
}
}
在此基础上可以完成定制。
如要生成N道题目。
可以加入int n;printf("请输入需要打印的题目数");scanf("%d",&n);
再把循环体内改为for(i=0;i<n;i++)
如要保证有乘数法出现。可以定义随机数d的范围为1~2,这样便定有乘数法出现。
三个数或者四个数运算只需要增加变量,并且给变量赋值随机数便可。
打印格式也可以自己定义,一样从键盘输入一个数,并且要求按照这个数换行;
只需要在循环体类加入if(i%x==0) printf("\n");//x为输入的间隔数。
目前还有一个问题无法解决,便是怎么避免重复这个问题。开始有想过通过限制随机数不重复生成方法解决,但是实际情况中,2*3 与 3*2 可以看作是重复题,2*3与2*2又是不同的题,
所以单单从限制随机数不重复生成是无法解决这个问题的。后来想过进行数值对比解决,但是又存在有可能是三个数甚至四个数再加上标点符号的比对。从而大大增加了工作量,甚至
这还是不考虑运算规则的前提下。所以目前该问题还等待解决。

浙公网安备 33010602011771号