weixin_48430085 2022-11-16 17:30 采纳率: 100%
浏览 148
已结题

有没有人知道为什么这样运行会提示[Error] case label '3' not within a switch statement

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,numOfQues=0,numOfRight=0;
char inquiry;
srand(time(NULL));
printf("欢迎你来做一位数的加减乘除法\n");
do
{
fflush(stdin);
int temp=rand()%4;
a=rand()%10;
b=rand()%10;
switch(temp)
{
case 0:
{
int ans;
printf("%d+%d=",a,b);
scanf("%d",&ans);
if(ans==a+b)
{
numOfRight++;
printf("正确\n");
} else
printf("错误\n");
break;
}
case 1:
{
int ans;
printf("%d-%d=",a,b);
scanf("%d",&ans);
if(ans==a-b)
{
numOfRight++;
printf("正确\n");
}else
printf("错误\n");
break;
}
case2:
{

            int ans;
        printf("%d*%d=",a,b);
        scanf("%d",&ans);
        if(ans==a*b){
            numOfRight++;
            printf("正确\n");
        }else
        printf("错误\n");
        break;        
 }

}
case 3:
{
if(b==0||(a%b!=0))continue;
int ans;
printf("%d / %d=",a,b);
scanf("%d",&ans);
if(ans==a/b)
{
numOfRight++;
printf("正确\n");
}else
printf("错误\n");
break;
}
numOfQues++;
printf("你还要做吗(N表示不要");
scanf("%d",inquiry);
}while(!('N'==inquiry||'n'==inquiry));
printf("你的正确率为%d,再见",numOfRight*100/numOfQues);
return 0;
}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-11-16 17:42
    关注

    case 3上一行的大括号删掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?