qrl20011106 2021-05-12 18:30 采纳率: 50%
浏览 77
已结题

illegal case 这是什么原因啊?求大佬解答

while(keep1)
    {
        printf("请选择你需要的功能:");
        scanf("%d",input_sci);
        case 1:printf("sin");scanf("%lf",&num);c=num/180*3.14;printf("sin%g°=%.2f\n",num,sin(c));break;
        case 2:printf("cos");scanf("%lf",&num);c=num/180*3.14;printf("cos%g°=%.2f\n",num,cos(c));break;
        case 3:printf("tan");scanf("%lf",&num);c=num/180*3.14;printf("tan%g°=%.2f\n",num,tan(c));break;
        case 4:printf("ln");scanf("%lf",&num);printf("ln%g=%.2f\n",num,log(num));break;
        case 5:printf("lg");scanf("%lf",&num);printf("lg%g=%.2f\n",num,log10(num));break;
                                default:printf("输入错误\n");

}

  • 写回答

6条回答 默认 最新

  • 关注

    在scanf语句后面加上

    switch(input_sci){

    最后一行哪里在加一个大括号}.

    while(keep1)
    {
        printf("请选择你需要的功能:");
        scanf("%d",input_sci);
    	    switch(input_sci){
    	    case 1:printf("sin");scanf("%lf",&num);c=num/180*3.14;printf("sin%g°=%.2f\n",num,sin(c));break;
    	    case 2:printf("cos");scanf("%lf",&num);c=num/180*3.14;printf("cos%g°=%.2f\n",num,cos(c));break;
    	    case 3:printf("tan");scanf("%lf",&num);c=num/180*3.14;printf("tan%g°=%.2f\n",num,tan(c));break;
    	    case 4:printf("ln");scanf("%lf",&num);printf("ln%g=%.2f\n",num,log(num));break;
    	    case 5:printf("lg");scanf("%lf",&num);printf("lg%g=%.2f\n",num,log10(num));break;
            default:printf("输入错误\n");
        }
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 6月26日
  • 已采纳回答 6月18日