EX3.20+4计算飞机票款
输入舱位代码和购票数量,输出总票款。提示:国内客票的舱位等级主要分为头等舱(舱位代码为F)、公务舱(舱位代码为C)、经济舱(舱位代码为Y);经济舱里面又分不同的座位等级(舱位代码为B、H、K、L、M、N、Q、T、X等,价格也不一样)。票价规则为:F舱为头等舱公布价,C舱为公务舱公布价,Y舱为普通舱(经济舱)公布价,B舱为普通舱9折,H舱为普通舱85折,K舱为普通舱80折,L舱为普通舱75折,M舱为普通舱70折,N舱为普通舱65折,Q舱为普通舱60折,T舱为普通舱55折,X舱为普通舱50折。程序首先输入F舱、C舱和Y舱的公布价,然后输入舱位代码和购票数量,利用switch语句处理不同折扣的情况,计算出机票款并输出。输入、输出都要有文字说明。
程序运行示例:
请输入F舱、C舱和Y舱的公布价
3000 2000 1000
请输入舱位代码和购票数量
F 2
机票款总额为6000
输入格式:
输入提示:"请输入F舱、C舱和Y舱的公布价\n"
输入格式:"%f%f%f"
输入提示:"请输入舱位代码和购票数量\n"
输入格式:" %c%d"
输出格式:
"机票款总额为%.0f"
输入样例:
在这里给出一组输入。例如:
3000 2000 1000
F 2
输出样例:
在这里给出相应的输出。例如:
请输入F舱、C舱和Y舱的公布价
请输入舱位代码和购票数量
机票款总额为6000
#include <stdio.h>
int main (void)
{
int n;
float f,c,y,i;
char g;
printf ("请输入F舱、C舱和Y舱的公布价;\n");
scanf ("%f%f%f",&f,&c,&y);
printf ("请输入仓位代码和购票数量;\n");
scanf ("%c%d",&g,&n);
switch (g)
{
case 'B':i=y*0.9*n;break;
case 'H':i=y*0.85*n;break;
case 'K':i=y*0.8*n;break;
case 'L':i=y*0.75*n;break;
case 'M':i=y*0.7*n;break;
case 'N':i=y*0.65*n;break;
case 'Q':i=y*0.6*n;break;
case 'T':i=y*0.55*n;break;
case 'X':i=y*0.5*n;break;
}
printf ("机票款总额为%.0f",i);
return 0;
}
为什么运行不了一直是0啊QAQ 在 switch 语句之前把 g 和 n 的值打印出来看看呢。 新手学习中,暂时不懂 1,检查你的y值是不是正确,
2,检查你的g值,这个是分大小写的 case 'a':
case 'B':i=y*0.9*n;break;
页:
[1]