小学生c程序设计
# include & ltstdlib.h & gt
# include & lttime.h & gt
//在区间[a,b]生成一个随机数
#定义RANDOM(a,b) (rand()%((b+1)-(a)) + (a))
//生成1-20的整数。如果你想改变算术范围,你可以修改这个宏的参数。
# define GEN _ VALUE()RANDOM(1,20)
int main()
{
int v1,v2,t,r,a;
char op,ops[] = { '+','-',' * ','/' };
srand((无符号)时间(空));//用当前时间初始化随机数种子。
Printf("请回答Ctrl+C结束...\ n ");
while(1)
{
v 1 = GEN _ VALUE();//随机生成第1次运算。
v2 = GEN _ VALUE();//随机生成第二个算术。
op = ops[ RANDOM(0,3)];//随机决定是哪个运算符。
//确保第1个算术大于第二个算术,如果不需要就删除这个判断。
if(v 1 & lt;v2)
{
t = v 1;
v 1 = v2;
v2 = t;
}
//如果运算符是除法,且v1不能被v2整除,则重新生成题目。
if(op = = '/' & amp;& ampv1%v2!=0 )
继续;
//计算正确的结果
开关
{
case '+':a =(float)v 1+(float)v2;打破;
case '-':a =(float)v 1-(float)v2;打破;
case ' * ':a =(float)v 1 *(float)v2;打破;
case '/':a =(float)v 1/(float)v2;打破;
}
//输出公式
printf( "%d%c%d= ",v1,op,v2);
//等待输入结果
scanf( "%d ",& ampr);
如果(r == a)
Printf("宾果!\ n \ n ");
其他
Printf("回答错误!正确答案是:%d\n\n ",a);
}
}