答题器

帅气的我又来给大家发福利了
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//产生 [a,b] 区间的随机数
#define 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( (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<v2 )
 {
 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 );
 }
}

什么字全世界通用?
什么东西天气越热,它爬的越高?
什么东西晚上才生出尾巴呢?
牧师无论如何都不能主持的仪式是什么?
离婚的主要起因是什么?
答案下一期“答题器2”会有!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值