【FOJ】Problem 1116 Mileage Bank

Problem 1116 Mileage Bank.

题意

  • F - 实际里程数×2
    B - 实际里程数×1.5
    Y - 实际里程数小于500按500算,大于500即按实际值算
    要求计算最终累积的
  • 每组数据以0结束,输入文件以#结束

思路

  • 输入,判断是F/B/Y,按规则计算累加,四舍五入

代码

#include<iostream>
#include<string>
using namespace std;

int main(){
	string begin, end;
	char class_code;
	int miles;
	double sum;
	cin >> begin;
	while(begin!="#"){
		sum = 0;
		while(begin!="0"){
			cin >> end >> miles >> class_code;
			switch(class_code){
				case 'F':
					sum += miles*2;
					break;
				case 'B':
					sum += miles*1.5;
					break;
				case 'Y':
					sum += (miles>500 ? miles : 500);
					break;
			}
			cin >> begin;
		}
		cout << (int)(sum+0.5) << endl;
		cin >> begin;
	}
	return 0;
}
发布了28 篇原创文章 · 获赞 0 · 访问量 319

猜你喜欢

转载自blog.csdn.net/qq_44531167/article/details/105279957
今日推荐