giegie666 发表于 2022-10-22 19:50:20

为什么这个输不出结果?

输入40 97m

#include<stdio.h>
int main(){
    int a,b;
    double sum=0;
    char c;
    scanf("%d%d%d",&a,&b,&c);
    if(b==90&&c=='m')
    { sum=6.95*a*0.95;
    printf("%.2lf",sum);
    }else if(b==90&&c=='e')
      { sum=6.95*a*0.97;
    printf("%.2lf",sum);
    }
    else if(b==93&&c=='m')
      { sum=7.44*a*0.95;
    printf("%.2lf",sum);
    }
    else if(b==93&&c=='e')
      { sum=7.44*a*0.97;
    printf("%.2lf",sum);
    }
       else if(b==97&&c=='m')
      { sum=7.93*a*0.95;
    printf("%.2lf",sum);
    }
      else if(b==97&&c=='e')
      { sum=7.93*a*0.97;
    printf("%.2lf",sum);
    }
      
}

jackz007 发表于 2022-10-22 20:21:15

本帖最后由 jackz007 于 2022-10-22 20:22 编辑

    scanf("%d%d%d",&a,&b,&c);
         变量 c 用于输入字符,格式描述符不可以用 "%d"
    scanf("%d%d%c",&a,&b,&c);

giegie666 发表于 2022-10-22 20:26:21

jackz007 发表于 2022-10-22 20:21
变量 c 用于输入字符,格式描述符不可以用 "%d"

还是输不出

jackz007 发表于 2022-10-22 20:34:04

本帖最后由 jackz007 于 2022-10-22 20:36 编辑

giegie666 发表于 2022-10-22 20:26
还是输不出

      这样输:
40 97m
      如果像你原来那样输入,得改输入语句
    scanf("%d%d %c",&a,&b,&c)      ;
      97 和 m 之间只能有 1 个空格

giegie666 发表于 2022-10-22 20:48:01

jackz007 发表于 2022-10-22 20:34
这样输:

      如果像你原来那样输入,得改输入语句


知道了谢谢
页: [1]
查看完整版本: 为什么这个输不出结果?