|  | 
 
| 
本帖最后由 basketmn 于 2021-11-5 12:14 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 某个自动加油站,有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前面要有}
 [Error] expected '}' before 'else'
 
        试试这个代码,注意。键盘输入 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)      ;
}
 | 
 |