黑马程序员技术交流社区
标题:
求大神告知怎么理解这题 怎么做
[打印本页]
作者:
宋兴1228
时间:
2015-5-21 22:14
标题:
求大神告知怎么理解这题 怎么做
/*
某个自动加油站有 ‘a’,‘b’,‘c’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升),也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量x,汽油品种y和服务类型z(‘f’—自动加,‘m’—自己加,‘e’—协助加),(注:‘f’—自动加无优惠),计算应付款pay。(请用多分支选择switch语句)。
*/
作者:
kulala0115
时间:
2015-5-21 22:16
#include <stdio.h>
int main(int argc, const char * argv[]) {
// x 千克数 m1价格 m2折扣
float x, m1 = 0.0, m2 = 0.0, m;
char y, z;//汽油种类,服务等级
// 输入选择的千克,种类,服务
printf("请输入汽油的千克数,种类,服务;并用逗号隔开:\n");
scanf("%f,%c,%c", &x, &y, &z);
// 选择汽油种类
switch (y) {
case 'a':
m1 = 6.92;
break;
case 'b':
m1 = 7.37;
break;
case 'c':
m1 = 7.64;
break;
}
switch (z) {
// 自动加
case 'f':
m2 = 0;
break;
// 自己加
case 'm':
m2 = 0.05;
break;
// 协助加
case 'e':
m2 = 0.1;
break;
}
//计算应付的金额 总金 = 实际 - 优惠
m = (x * m1) - (x * m1 * m2);
printf("汽油的种类是: %c\n", y);
printf("服务等级是: %c\n", z);
printf("应付的金额是: %f\n", m);
return 0;
}
作者:
我是一个小菜鸟
时间:
2015-5-21 22:17
#include <stdio.h>
int main(){
//定义变量
int x = 0;
float pay = 0.0;
char y,z;
//提示用户输入加油量x,汽油品种y,服务类型z
printf("请输入加油量x,汽油品种y,服务类型z:\n");
//接收用户输入的加油量x,汽油品种y,服务类型z
scanf("%d,%c,%c",&x,&y,&z);
//编写函数,计算出pay的值并且输出
switch(z) {
case 'f':
switch (y) {
case 'a':
pay = (float)(6.92*x);
break;
case 'b':
pay = (float)(7.37*x);
break;
case 'c':
pay = (float)(7.64*x);
break;
}
break;
case 'm':
switch (y) {
case 'a':
pay = (float)(6.92*x*0.95);
break;
case 'b':
pay = (float)(7.37*x*0.95);
break;
case 'c':
pay = (float)(7.64*x*0.95);
break;
}
break;
case 'e':
switch (y) {
case 'a':
pay = (float)(6.92*x*0.9);
break;
case 'b':
pay = (float)(7.37*x*0.9);
break;
case 'c':
pay = (float)(7.64*x*0.9);
break;
}
break;
default:
break;
}
printf("加油量为:%d\n汽油品种为:%c\n服务类型为:%c\n总价格为:%.2f\n",x,y,z,pay);
return 0;
}
作者:
Theshy
时间:
2015-5-22 19:48
基础班练习题。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2