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

有没有人知道为什么这样运行会提示[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 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应