A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

宋兴1228

中级黑马

  • 黑马币:26

  • 帖子:49

  • 精华:0

/*
某个自动加油站有 ‘a’,‘b’,‘c’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升),也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量x,汽油品种y和服务类型z(‘f’—自动加,‘m’—自己加,‘e’—协助加),(注:‘f’—自动加无优惠),计算应付款pay。(请用多分支选择switch语句)。
*/

评分

参与人数 2黑马币 +4 收起 理由
等风继续吹 + 2 赞一个!
kulala0115 + 2 赞一个!

查看全部评分

3 个回复

倒序浏览
#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;
}
回复 使用道具 举报
#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;
}
回复 使用道具 举报
基础班练习题。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马