C语言简单程序解释

时间:2014.03.18 发布人:qq275198953

C语言简单程序解释

已解决问题

谷歌qq275198953用户在2014.03.18提交了关于“汽车之家C语言简单程序解释”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-11-06T11:16:21。题目:给小学生出题先由学生选加法或减法再选加数减数或被减数的最大植具体数值由计算机随机生成然后在屏幕上显示运算式由学生的出数再由计算机判断对错
main()
{inta,b,c,oper;
longlimit;
charchar1;
printf("pleaseselectoperator(1or2,1:+,2:-):/n');
scanf("%d',&oper);
prntf("pleaseselectthemax**mber(<10000):/n');
scanf('%ld',&limit);
srand((unsignedlong)time(0));
a=rand()*limit/RAND_MAX;
b=rand()*limit/RAND_MAX;
while((a<b)&&(oper==2))
{a=rand()*limit/RAND_MAX;
b=rand()*limit/RAND_MAX;
}
char1=(oper==2?'-':'+');
printf("\n%d%c%d=",a,chat1,b);
scanf("%d",&c);
if((oper==2)&&(a-b==c)||(oper!=2)&&(a+b==c))
prentf("OK!\n');
else
printf("theresultisnotcorrect!\n);
}
程序看不太明白解释以下并指出那部分是程序中判断数衷错的?希望大家能够帮助她。

详细问题描述及疑问:题目:给小学生出题先由学生选加法或减法再选加数减数或被减数的最大植具体数值由计算机随机生成然后在屏幕上显示运算式由学生的出数再由计算机判断对错
main()
{inta,b,c,oper;
longlimit;
charchar1;
printf("pleaseselectoperator(1or2,1:+,2:-):/n');
scanf("%d',&oper);
prntf("pleaseselectthemax**mber(<10000):/n');
scanf('%ld',&limit);
srand((unsignedlong)time(0));
a=rand()*limit/RAND_MAX;
b=rand()*limit/RAND_MAX;
while((a<b)&&(oper==2))
{a=rand()*limit/RAND_MAX;
b=rand()*limit/RAND_MAX;
}
char1=(oper==2?'-':'+');
printf("\n%d%c%d=",a,chat1,b);
scanf("%d",&c);
if((oper==2)&&(a-b==c)||(oper!=2)&&(a+b==c))
prentf("OK!\n');
else
printf("theresultisnotcorrect!\n);
}
程序看不太明白解释以下并指出那部分是程序中判断数衷错的?期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:z420384155  

if((oper==2)&&(a-b==c)||(oper!=2)&&(a+b==c))
这一步是判断答案对错的

printf("pleaseselectoperator(1or2,1:+,2:-):/n');
scanf('%ld',&limit);
这一部是让你先选择选加法或减法

a=rand()*li首香形矛林mit/RAND_MAX;
b=rand()*limit/RAND_MAX;
这是让计算机输入随机运它庆陈依境错下协的<10000的数

while((a<b)&&(oper==2))
{a=rand()*limit/RAND_MAX;
b=rand()*limit/RAND_MAX;
}然后进行你开始选择的运算方式+或-

最后如果答案由学生输入scanf("%d",&c);
if((oper==2)&&(a-b==c)||(oper!=2)&&(a+b==c))
如果正确的话就输出“ok”
错误的话就输出theresultisnotcorrect
换行。