C语言程序随机生成算式,能帮忙写一个c语言的程序,随机生成两个数进行加减乘除运算。...

匿名用户

1级

2016-07-21 回答

//小学生四则运算

#include

#include

#include

//产生 [a,b] 区间的随机数

#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))

//产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可

#define GEN_VALUE() RANDOM(1, 20)

void main()

{

int v1, v2, t, r, a;

char op, ops[] = { '+', '-', '*', '/' };

srand( (unsigned)time(NULL) ); //用当前时间初始化随机数种子

printf( "请答题 Ctrl+C 结束...\n" );

while(1)

{

v1 = GEN_VALUE(); //随机生成第1个算数

v2 = GEN_VALUE(); //随机生成第2个算数

op = ops[ RANDOM(0,3) ]; //随机决定是哪个运算符

//保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可

if( v1

{

t = v1;

v1 = v2;

v2 = t;

}

//如果运算符为除法,且v1不能被v2整除则重新生成题目

if( op=='/' && v1%v2!=0 )

continue;

//计算正确的结果

switch(op)

{

case '+': a=(float)v1+(float)v2; break;

case '-': a=(float)v1-(float)v2; break;

case '*': a=(float)v1*(float)v2; break;

case '/': a=(float)v1/(float)v2; break;

}

//输出算式

printf( "%d%c%d=", v1, op, v2 );

//等待输入结果

scanf( "%d", &r );

if( r == a )

printf( " 答对喽!\n\n" );

else

printf( " 答错喽!正确答案是:%d\n\n", a );

}

}

追问:

有一个错误运行不了,在生成随机数那

追问:

srand(unsigned(time))

追问:

有错误

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值