NCHU逸尘 2015-04-16 12:38 采纳率: 50%
浏览 2924
已采纳

C语言基础问题 .......

void main()
{
int b;
float a;
char c;

scanf("%f%d%c",&a,&b,&c);


if (b==90 && c=='m')
    printf("%.2f", a*6.95*0.95);
else
    if (b == 90 && c=='b')
        printf("%.2f", a*6.95*0.97);
    else
        if (b == 97 && c == 'm')
            printf("%.2f", a*7.93*0.95);
        else
            if (b == 97 && c == 'b')
                printf("%.2f", a*7.93*0.97);
            else
                if (b == 93 && c == 'm')
                    printf("%.2f", a*7.44*0.95);
                else
                    if (b == 93 && c == 'b')
                        printf("%.2f", a*7.44*0.97);

}
//假设现在90号汽油6.95元 / 升、93号汽油7.44元 / 升、97号汽油7.93元 / 升。
//为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
//请编写程序,输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m为自助服务,e为协助服务),计算并输出应付款(保留小数点后2位)。没报错啊....

  • 写回答

8条回答 默认 最新

  • danielinbiti 2015-04-16 13:27
    关注

    scanf("%f%d%c",&a,&b,&c);  //这种输入50 90 m是错误的,得输入50 90m要不c接收的不是m是空格
    改成
     scanf("%f,%d,%c",&a,&b,&c);//这样用逗号隔开不容易出错
     这样不容易输错
    
     另外协助服务是e不是b。如果自助服务不是这两个,你这里就不打印任何东西了。
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置