小学生c程序设计

# include & ltstdio.h & gt

# 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);

}

}