![]() |
#2
零号小白菜2019-12-22 22:36
|
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
输入格式:
输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。
输出格式:
在一行中输出应付款额,保留小数点后2位。

#include<stdio.h>
int main()
{
int a,b;
float temp;
char ch;
scanf("%d%d%f",&a,&b,&ch);
switch(b)
{
case 90: temp=6.95; break;
case 93: temp=7.44; break;
case 97: temp=7.93; break;
}
if(ch=='m')
{
printf("%.2f",a*temp*0.95);
}
else
{
printf("%.2f",a*temp*0.97);
return 0;
}
}
int main()
{
int a,b;
float temp;
char ch;
scanf("%d%d%f",&a,&b,&ch);
switch(b)
{
case 90: temp=6.95; break;
case 93: temp=7.44; break;
case 97: temp=7.93; break;
}
if(ch=='m')
{
printf("%.2f",a*temp*0.95);
}
else
{
printf("%.2f",a*temp*0.97);
return 0;
}
}
例如:输入:40 97 m 正确答案是:301.34, 实际结果输出:307.68
单步调试:

if(ch=='m')
{
printf("%.2f",a*temp*0.95);
}
else
{
printf("%.2f",a*temp*0.97);
{
printf("%.2f",a*temp*0.95);
}
else
{
printf("%.2f",a*temp*0.97);
调试信息:ch=0'\000',这里不懂为什么?