码迷,mamicode.com
首页 > 其他好文 > 详细

POJ C程序设计进阶 编程题#3: 发票统计

时间:2015-08-06 00:00:07      阅读:1690      评论:0      收藏:0      [点我收藏+]

标签:

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

有一个小型的报账系统,它有如下功能:

(1)统计每个人所报发票的总钱数

(2)统计每类发票的总钱数

将此系统简化为如下:假设发票类别共有A、B、C三种;一共有三个人,ID分别为1、2、3。 

输入

系统输入包含三行,每行第一个数为人员ID(整型,1或2或3),第二个数为发票总张数(张数不超过100),之后是多个发票类别(字符型,A或B或C)和相应发票金额(单进度浮点型,不超过1000.0)。

输出

输出包含六行,前三行为每人(按ID由小到大输出)所报发票总钱数(保留两位小数),后三行为每类发票的总钱数(保留两位小数)。 

样例输入

1 5 A 1.0 A 2.0 C 1.0 B 1.0 C 1
3 3 B 1 C 2 C 1
2 4 B 1 A 1 C 1 A 1

样例输出

1 6.00
2 4.00
3 4.00
A 5.00
B 3.00
C 6.00


 1 #include<iostream>
 2 #include <stdio.h> 
 3 using namespace std;
 4 
 5 int main() 
 6 {
 7     float sum[6];
 8     
 9     for (int i = 0; i < 3; i++){
10         int a;
11         cin >> a;
12         int n;
13         cin >> n;
14         for (int j = 0; j < n;j++){
15             char b;
16             cin >> b;
17             float c;
18             cin >> c;
19             if (b == A) {
20                 sum[a- 1] += c;
21                 sum[3] += c;
22             }
23             else if (b == B) {
24                 sum[a - 1] += c;
25                 sum[4] += c;
26             } 
27             else if (b == C) {
28                 sum[a - 1] += c;
29                 sum[5] += c;
30             }    
31         }
32     }
33     printf("1 %.2f\n", sum[0]);
34     printf("2 %.2f\n", sum[1]);
35     printf("3 %.2f\n", sum[2]);
36     printf("A %.2f\n", sum[3]);
37     printf("B %.2f\n", sum[4]);
38     printf("C %.2f\n", sum[5]);
39     return 0;
40 }

 

 

POJ C程序设计进阶 编程题#3: 发票统计

标签:

原文地址:http://www.cnblogs.com/dagon/p/4706093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!