basketmn 发表于 2021-11-5 12:12:36

麻烦各位大佬给看看

本帖最后由 basketmn 于 2021-11-5 12:14 编辑

某个自动加油站,有i,j,k三种汽油,单价分别为1.5,1.35,1.18,提供了‘自己加’或‘协助加’两种服务,这样用户就可以得到10%或%5的优惠,输出应付款
#include<stdio.h>
int main()
{
        int a,m;
        char x,c;
        scanf("%d%c%c",&a,&x,&c);
        if(x=='i')
        {
                if(c=='n'){
                        m=1.5*a-1.5*a*0.1;
                }
                else if(c=='e'){
                        m=1.5*a-0.05*1.5*a;
                }
                else
                {
                        m=1.5*a;
                }
        }
        else if(x=='j')
        {
                if(c=='n'){
                        m=1.35*a-1.35*a*0.1;
                }
                else if(c=='e'){
                        m=1.35*a-0.05*1.35*a;
                }
                else
                {
                        m=1.35*a;}
        }
        else
        {
                if(c=='n'){
                        m=1.18*a-1.18*a*0.1;
                }
                else if(c=='e'){
                        m=1.18*a-0.05*1.18*a;
                }
                else
                {
                        m=1.18*a;}
        }
        printf("%d\n",m);
        return 0;
}
这代码报错,提示我else前面要有}
expected '}' before 'else'

人造人 发表于 2021-11-5 12:18:24

#include <stdio.h>
int main() {
    int a, m;
    char x, c;
    scanf("%d%c%c", &a, &x, &c);
    if(x == 'i') {
      if(c == 'n') {
            m = 1.5 * a - 1.5 * a * 0.1;
      } else if(c == 'e') {
            m = 1.5 * a - 0.05 * 1.5 * a;
      } else {
            m = 1.5 * a;
      }
    } else if(x == 'j') {
      if(c == 'n') {
            m = 1.35 * a - 1.35 * a * 0.1;
      } else if(c == 'e') {
            m = 1.35 * a - 0.05 * 1.35 * a;
      } else {
            m = 1.35 * a;
      }
    } else {
      if(c == 'n') {
            m = 1.18 * a - 1.18 * a * 0.1;
      } else if(c == 'e') {
            m = 1.18 * a - 0.05 * 1.18 * a;
      } else {
            m = 1.18 * a;
      }
    }
    printf("%d\n", m);
    return 0;
}

basketmn 发表于 2021-11-5 12:21:05

楼上两位大佬,我这结果不对啊
输入100 i n结果怎么不对啊

jackz007 发表于 2021-11-5 12:47:07

basketmn 发表于 2021-11-5 12:21
楼上两位大佬,我这结果不对啊
输入100 i n结果怎么不对啊

      试试这个代码,注意。键盘输入 100 i n 这样输入不行,要这样输入:100in
#include<stdio.h>
int main(void)
{
      int a                           ;
      float d = 0.0 , e = 1.0 , r = 0.0 ;
      char x , c                        ;
      scanf("%d%c%c",&a,&x,&c)          ; // 一定要这样输入:100in
      if(x == 'i') d = 1.5            ;
      else if(x == 'j') d = 1.35      ;
      else if(x == 'k') d = 1.18      ;
      if(c == 'n') e = 0.9            ;
      else if(c == 'e') e = 0.95      ;
      printf("%.2f\n" , a * d * e)      ;
}

basketmn 发表于 2021-11-5 12:55:37

jackz007 发表于 2021-11-5 12:47
试试这个代码,注意。键盘输入 100 i n 这样输入不行,要这样输入:100in

再次感谢大佬,谢谢!
页: [1]
查看完整版本: 麻烦各位大佬给看看