题目要求:随机输出30道小学二年级四则运算题。
思路:用for循环实现数量30道,rand函数产生随机数,switch语句加0到3的随机数实现四种运算的随机输出,if语句添加限制条件,用取余方式限制运算数、结果不超过100,除法不出现分数等,以符合小学二年级的实际水平。
编写过程中,在写if语句添加限制条件时,不符合条件的不知道如何实现跳转,出现了数量不足30道的情况,后通过程序中定义的整型 i 自减实现。
代码如下:
#include<iostream.h>
#include <stdlib.h>
void main()
{
int a,b,c,i;
for(i=0;i<30;i++)
{
a=rand()%100;
b=rand()%100;
c=rand()%4;
switch(c)
{
case 0:
if(a+b>100)
{
i--;
}else
{
cout<<a<<"+"<<b<<"="<<endl;
}
break;
case 1:
if(a-b<0)
{
i--;
}else
{
cout<<a<<"-"<<b<<"="<<endl;
}
break;
case 2:if(a*b>100)
{
i--;
}else
{
cout<<a<<"*"<<b<<"="<<endl;
}
break;
case 3:if(a%b!=0)
{
i--;
}else
{
cout<<a<<"/"<<b<<"="<<endl;
}
break;
}
}
}
运行结果截图: