通过计算机随机产生10道加减运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减运算中的
答案:2 悬赏:70
解决时间 2021-03-06 20:22
- 提问者网友:伪善人独行者
- 2021-03-05 22:22
最好 是自己写的,不要网收的哦,,,用c语言写的程序哦
最佳答案
- 二级知识专家网友:山鬼偶尔也合群
- 2021-03-05 23:34
给你个思路,用随机函数产生1~10之间的操作数。用随机函数产生1~2之间的操作符。如果是1,执行加,如果是2,执行减。
全部回答
- 1楼网友:狠傷凤凰
- 2021-03-06 00:42
#include
#include
#include
void main(void)
{
int count=0; //计数器
int num1,num2; //操作数1和操作数2
int oper; //运算符
int ans; //输入的答案
srand( (unsigned)time( null ) );
while(count<10)
{
num1=(int)(10*rand()/(rand_max+1.0)); //0-10之间的随机数
num2=(int)(10*rand()/(rand_max+1.0)); //0-10之间的随机数
oper=(int)((3*rand()/(rand_max+1.0))+1); //1-4之间的随机数
switch(oper)
{
case 1:
{
printf("%d+%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1+num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
case 2:
{
while(num1-num2<0) //若差小于0,重新生成num1和num2
{
num1=(int)(10*rand()/(rand_max+1.0)); //0-10之间的随机数
num2=(int)(10*rand()/(rand_max+1.0)); //0-10之间的随机数
}
printf("%d-%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1-num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
case 3:
{
printf("%d*%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1*num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
case 4:
{
while((num2==0)||(num1%num2!=0)) //若除数为 0 或者除数不能够整除除数,重新生成num1和num2
{
num1=(int)(10*rand()/(rand_max+1.0)); //0-10之间的随机数
num2=(int)(10*rand()/(rand_max+1.0)); //0-10之间的随机数
}
printf("%d/%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1/num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
}
count++;
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯