POJ 1326 Mileage Bank(水~)

来源:互联网 发布:阿里云招聘官网首页 编辑:程序博客网 时间:2024/05/23 01:58

Description
给出航线的长度,经济舱500公里以下算500公里,否则算实际里程。商务舱算实际里程×1.5。头等舱实际里程×2。根据给出的航班,求出总航线长
Input
多组用例,每组用例包括多次航行,每行表示一次航行,以“出发城市 目的城市 实际航程 航班类型”模式输入,以0结束每组用例,以#结束所有输入
Output
对于每组用例,输出总航线长
Sample Input
Beijing Tokyo 1329 F
Shanghai Wuhan 433 Y
0
#
Sample Output
3158
Solution
水题
注意四舍五入(int)floor(len+0.5)
Code

#include<stdio.h>#include<string.h>#include<ctype.h>int main(){    char s[100];    int x,i,len,n;    double m;    gets(s);    while(strcmp(s,"#")!=0)    {        n=0;        while(strcmp(s,"0")!=0)         {            m=0;            len=strlen(s);            for(i=0;i<len;i++)//得到航线实际里程                 if(s[i]>='0'&&s[i]<='9')                    m=m*10+s[i]-'0';            if(s[len-1]=='F')//商务舱                m*=2;            else if(s[len-1]=='B')//头等舱                 m+=m/2;                else if(s[len-1]=='Y')//经济舱                     m=m>500?m:500;            n+=m+0.5;//四舍五入             gets(s);        }        printf("%d\n",n);        gets(s);    }} 
0 0
原创粉丝点击