扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
//小学生四则运算
专注于为中小企业提供成都做网站、网站设计、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业澧县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
#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)
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( v1v2 )
{
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 );
}
}
#include iostream
#include ctime
using namespace std;
int main()
{
int a,b;
int num;
int t=10,d=100;
srand((unsigned)time(0));
a=rand()%(d-t)+t;
printf("当前随机数为:%d\n",a);
printf("请输入一个数: ");
scanf("%d",num);
if(a==num)
printf("正确!\n");
else
while(true){
a=rand()%(d-t)+t;
b=rand()%(d-t)+t;
printf("当前随机数为:%d\n",a+b);
printf("请输入一个数: ");
scanf("%d",num);
if(num==(a+b)){
printf("正确\n");
break;
}
}
return 0;
}
先用srand函数设置随机数种子,再用rand函数取两个随机数作为运算数字,而运算符只有+和-,那么用rand()%2来得到0~1的随机数来决定运算符号。
下面演示代码,随机生成10道加减题,输入回答,判断正确性。
#includestdio.h
#includestdlib.h
#includetime.h
#define M 10//题目数量
int main(void)
{
int n=M,num1,num2,s,y,a;
srand(time(NULL));
while(n--)
{
y=rand()%2;
num1=rand();
num2=rand();
if(y)
printf("问题%d:%d+%d=",M-n,num1,num2),s=num1+num2;
else
printf("问题%d:%d-%d=",M-n,num1,num2),s=num1-num2;
scanf("%d",a);
if(a==s)printf("回答正确!\n\n");
else printf("回答错误!正确答案:%d\n\n",s);
}
return 0;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流