#include<stdio.h>
#include<stdlib.h>
int main(void)
{int a,b;char operation;
float Ans,ans;
a=rand()%100;
b=rand()%100;
operation=rand()%4;
printf("%d %d %d %d",operation,a,b,Ans);
switch(operation){
case'0':{
printf("请计算%d+%d=?",a,b);
Ans=a+b;}
break;
case'1':{
printf("请计算%d-%d=?",a,b);
Ans=a-b;}
break;
case'2':{
printf("请计算%d*%d=?",a,b);
Ans=a*b;}
break;
case'3':{
printf("请计算%d/%d=?",a,b);
Ans=a/b;}
break;
default:
printf("NULL");
break;
}
scanf("%f",&ans);
if(ans==Ans)
printf("恭喜,回答正确");
else printf("回答错误");
return 0;
}
一道随机一百以内加减乘除,运行时发现错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
qzjhjxj 2021-08-10 22:17关注修改如下,供参考:
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) { int a,b; int operation; float Ans,ans; srand((unsigned int)time(NULL)); a=rand()%100; b=rand()%100; operation=rand()%4; printf("%d %d %d\n",operation,a,b); switch(operation){ case 0:{ printf("请计算%d+%d=? ",a,b); Ans=(float)a+b; } break; case 1:{ printf("请计算%d-%d=? ",a,b); Ans=(float)a-b; } break; case 2:{ printf("请计算%d*%d=? ",a,b); Ans=(float)a*b; } break; case 3:{ printf("请计算%d/%d=? ",a,b); Ans=(float)a/b; } break; default: printf("NULL"); break; } scanf("%f",&ans); if(ans==Ans) printf("恭喜,回答正确\n"); else printf("回答错误\n"); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报