四则运算练习题

  我是使用的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又是不同的题,

所以单单从限制随机数不重复生成是无法解决这个问题的。后来想过进行数值对比解决,但是又存在有可能是三个数甚至四个数再加上标点符号的比对。从而大大增加了工作量,甚至

这还是不考虑运算规则的前提下。所以目前该问题还等待解决。

posted @ 2020-10-07 17:05  康宇晗  阅读(229)  评论(0)    收藏  举报