鱼C论坛

 找回密码
 立即注册
查看: 4170|回复: 2

[已解决]请问哪里出错了?switch语句应用有什么要求?

[复制链接]
发表于 2017-9-27 19:08:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
        float i,d,s;
        printf("请输入当月利润:");
        scanf("%f",&i);
        for(;i<0;)
        {
                printf("输入错误请重新输入\n");
            printf("请输入当月利润:");
            scanf("%f",&i);
        }
        switch(i)
        {
        case i<=10:s=i*0.1;break;
        case i>10&&i<=20:s=1+(i-10)*0.75;break;
        case i>20&&i<=40:s=1.75+(i-20)*0.05;break;
        case i>40&&i<=60:s=2.75+(i-40)*0.03;break;
        case i>60&&i<=100:s=3.35+(i-60)*0.015;break;
        case i>100:s=3.95+(i-100)*0.01;break;
    default:printf("error\n");
        }
        printf("应发放奖金总数为:%f\n",s);
}



switch语句应用有什么要求?
最佳答案
2017-9-27 19:10:50
case 后边必须跟一个常量值,而不能是一个范围,也就是说你的i要是个整形或者字符型会好确定
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-9-27 19:10:50 | 显示全部楼层    本楼为最佳答案   
case 后边必须跟一个常量值,而不能是一个范围,也就是说你的i要是个整形或者字符型会好确定
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-27 19:12:26 | 显示全部楼层
还有,你怎么用for循环来做输入错误重新输入,未免有点大材小用,你就用了一个表达式,剩下两个都空着,直接while(i < 0)循环就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-18 22:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表