天天看点

四则运算

一.整体概要

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("小学二年级四则运算测试题\n");

for(i=1;i<31;i++)

{

x=rand()%10+1;//产生随机数

y=rand()%10+1;

z=rand()%4;//产生随机四则运算符

switch(z)

{

case 0://加法

printf("%d+%d=\n",x,y);

answer[i]=x+y;

break;

case 1://减法

if(x<y)

{

t=x;

x=y;

y=t;

}

printf("%d-%d=\n",x,y);

answer[i]=x-y;

break;

case 2://乘法

printf("%d*%d=\n",x,y);

answer[i]=x*y;

case 3://除法

if(y!=0)

{ if((x%y)==0){//判断是否能整除

printf("%d/%d=\n",x,y);

answer[i]=x/y;

i--;

else

i=i-1;

}

}

printf("\n出题完成\n");

printf("答案为:");

// system("pause");

printf("\n");

for(i=1;i<30;i++)

{

printf("%d\n",answer[i]);

}

return 0;