c语言问题,求大佬帮忙 200

现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3... 现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。

本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。

输入格式:

输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。

输出格式:

在一行中输出应付款额,保留小数点后2位
展开
 我来答
XIN6030
2019-10-06 · TA获得超过464个赞
知道小有建树答主
回答量:686
采纳率:68%
帮助的人:211万
展开全部

#include "stdafx.h"

#include <stdio.h>

#define Sever_type 3

#define Oil_type 4

int oil_type;

int serve_type;

double ALL_Price;

struct OIL

{

char *type;

    double price;

};

struct SERVES

{

char *type;

double reduce;

};




OIL oil[4]={

{"90号汽油",6.95},

{"93号汽油",7.44},

{"97号汽油",7.93},

{"o错误",0.00},};


SERVES serve[3]={

{"m - 自助",0.05},

{"e - 协助",0.03},

{"s错误",0.00},};


void Prinf_Oil_message()

{

for(int i=0;i<Oil_type;i++)

{

printf("%s: 价格是%.2f \n",oil[i].type,oil[i].price);

}

for(int j=0;j<Sever_type;j++)

{

printf("%s: 优惠%.2f \n",serve[j].type,serve[j].reduce);

}

};



void Choice_serve_Oil(int ml,char S_type,int O_type)

{

int current_ml=ml;

switch(S_type)

{

    case 'm'  :

   serve_type=0;

       break; /* 可选的 */

    case 'e'  :

   serve_type=1;

       break; /* 可选的 */

    /* 您可以有任意数量的 case 语句 */

    default : 

serve_type=2;

printf("ERROR %s:PLS input again\n",serve[serve_type].type);   /* 可选的/* 可选的 */break;

}

switch(O_type)

{

    case 90  :

   oil_type=0;

       break; /* 可选的 */

    case 93  :

   oil_type=1;

       break; /* 可选的 */

case 97  :

   oil_type=2;

       break; /* 可选的 */

    /* 您可以有任意数量的 case 语句 */

    default :

   oil_type=3;

   printf("ERROR %s:PLS input again\n",oil[oil_type].type);   /* 可选的

*/break;

}

if(serve_type!=2&&oil_type!=3)

{

ALL_Price=current_ml*(1-serve[serve_type].reduce)*oil[oil_type].price;

printf("你的服务: %s,油: %s\n",serve[serve_type].type,oil[oil_type].type);

printf("总价格为%.2f,Welcome\n",ALL_Price);

}

};



int main(int argc, char* argv[])

{


int weight_kg=0;

char seversult;

int oilresult=0;

Prinf_Oil_message();

printf("Welcome Oilstation,Pls choice serves:\n");

while(true)

{

printf("PLS input: 重量(kg),服务(m or e),油型(90,93,97)\n");

    scanf("%d,%c,%d",&weight_kg,&seversult,&oilresult);

Choice_serve_Oil(weight_kg,seversult,oilresult);

}

return 0;

}

JW木有道理
2019-10-06 · TA获得超过102个赞
知道小有建树答主
回答量:217
采纳率:79%
帮助的人:37.6万
展开全部
int main()
{
int a,b;
char c;
scanf("%d,%d,%c",&a,&b,&c);
float price;
float cost;
switch(b)
{
case 90:
price = 6.95;
break;
case 93:
price =7.44;
break;
case 97:
price = 7.93;
break;
default:
printf("无效汽油品种");
return 0;
}
if(c == 'm')
{
cost = price * a * 0.95;
}
else if(c == 'e')
{
cost = price * a * 0.97;
}
else
{
printf("错误服务类型");
return 0;
}
printf("%.2f\n",cost);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徭永望0g6
2019-10-07 · 贡献了超过292个回答
知道答主
回答量:292
采纳率:8%
帮助的人:18.6万
展开全部
我按照要求来搞定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式