四则运算

一.整体概要

1.此程序可以实现随机产生30道数学题,并给出答案。

2.加、减、乘、除四种运算随机产生,除法都是整除。

二.编写过程

题目要求每次产生30道随机四则运算,所以我用rand()来产生随机数,for作为主循环来控制运算个数,里面嵌套switch case用来控制随机运算符。当case=0时,随机数执行加法运算;case=1时,随机数执行减法运算,因为不能出现负数,所以在运算之前判断产生的减数与被减数的大小,在进一步进行计算;case=2时,随机数执行乘法运算;case=3时,随机数执行除法运算,做除法运算之前用取余是否为零的方法先判断是否能够整除,若能够整除则继续运算,否则舍去本次产生的随机数,重新开始本次循环。每次运算后都计算出结果存入数组answer中,产生30道题之后跳出主for循环,执行输出运算结果的for循环,结果都输出后程序结束。

三.运行结果

随机产生30道四则运算题

出题完成后会直接给出答案

四.代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int x,y,z,t,answer[30],i;
srand(time(NULL));
printf("小学二年级四则运算测试题 ");
for(i=1;i<31;i++)
{
x=rand()%10+1;//产生随机数
y=rand()%10+1;
z=rand()%4;//产生随机四则运算符
switch(z)
{
case 0://加法
printf("%d+%d= ",x,y);
answer[i]=x+y;
break;
case 1://减法
if(x<y)
{
t=x;
x=y;
y=t;
}
printf("%d-%d= ",x,y);
answer[i]=x-y;
break;
case 2://乘法
printf("%d*%d= ",x,y);
answer[i]=x*y;
break;
case 3://除法
if(y!=0)
{ if((x%y)==0){//判断是否能整除
printf("%d/%d= ",x,y);
answer[i]=x/y;
}
i--;
}
else
{
i=i-1;
}
break;
}

}

printf(" 出题完成 ");

printf("答案为:");
// system("pause");
printf(" ");
for(i=1;i<30;i++)
{
printf("%d ",answer[i]);
}
return 0;
}

原文地址:https://www.cnblogs.com/syh2013040101006/p/5267249.html