信仰 里的 一滴 泪 2021-08-31 11:15 采纳率: 100%
浏览 32
已结题

为什么if语句用出来这个程序没有输出


int I,a;double c;
    scanf("%d",I);
    if(I<100000)
    {a=1;c=I*0.1;}
    else if(100000<I<=200000)
    {a=0;c=(I-100000)*0.075+10000;}
    else if(200000<I<=400000)
    {a=2;c=(I-100000)*0.075+10000+(I-200000)*0.05;}
    else if(400000<I<=600000)
    a=3;
    else if(600000<I<=1000000)
    a=4;
    else 
    a=5;
 switch(0){
        case 1:printf("%.2f",c);
        case 0 :printf("0");
        case  2:printf("%.2f",c);
        case 3:printf("%.2f",(I-100000)*0.075+10000+(I-200000)*0.05+(I-400000)*0.03);break;
        case 4:printf("%.2f",(I-100000)*0.075+10000+(I-200000)*0.05+(I-400000)*0.03+(I-600000)*0.015);break;
        case 5:printf("%.2f",(I-100000)*0.075+10000+(I-200000)*0.05+(I-400000)*0.03+(I-600000)*0.015+(I-1000000)*0.01);break;
        default:printf("no");break;
    }

  • 写回答

1条回答 默认 最新

  • CSDN专家-Time 2021-08-31 11:16
    关注

    因为你的scanf没有取地址。

    scanf("%d",&I);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月31日