1064:奥运奖牌计数
时间限制: 1000 ms 内存限制: 65536 KB
1
【题目描述】
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。输入第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目。输出4个整数,为A国所获得的金、银、铜牌总数及总奖牌数。
【输入】
输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。
【输出】
输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。
【输入样例】
3
1 0 3
3 1 0
0 3 0
【输出样例】
4 4 3 11、
题目概述:
统计n天获得的金、银、铜牌数目和总牌数。
输入样例中,
3(n的值,表示n天)
1 0 3(第1天获奖情况,分别是金银铜牌数目)
3 1 0(第2天获奖情况,分别是金银铜牌数目)
0 3 0(第3天获奖情况,分别是金银铜牌数目)
输出样例中,
4 4 3 11(分别是金牌总数、银牌总数、铜牌总数、总奖牌数)
思路分析:
根据上述的题目概述,不难理解。
n天的获奖情况应使用循环来完成,即循环n次,每次代表每天获得的奖牌情况,金银铜牌分别用Jin、Yin、Tong三个变量来表示。在输入后,统计每一种奖牌的数目。那么循环n次后,得出金银铜牌每一种的总数。而总奖牌数sum=金牌总数+银牌总数+铜牌总数。
声明4个int类型变量n、Jin、Yin、Tong,分别代表天数、一天中获得的金银铜牌数。
声明4个int类型变量JinSum、YinSum、TongSum、sum,初值都为0,分别代表n天中获得的金牌总数、银牌总数、铜牌总数、总牌数。
输入1个整数给变量n,代表天数。
循环n次,循环体中:
1.输入3个整数给变量Jin、Yin、Tong,分别一天中获得的金牌数、银牌数、铜牌数。
2.分别对金银铜牌进行求和。
循环外:
求得总牌数。
分别输出金牌总数JinSum、银牌总数YinSum、铜牌总数TongSum、总牌数sum的值。
源代码:
#include<iostream>
using namespace std;
int main()
{
int n; cin >> n;
int goldSum = 0, silverSum = 0, copperSum = 0;//三个金牌总数
int gold, silver, copper;//某一天得到的奖牌数
for (int i = 0; i < n; ++i)
{
cin >> gold >> silver >> copper;
goldSum += gold;
silverSum += silver;
copperSum += copper;
}
cout << goldSum << " " << silverSum << " " << copperSum << " " << goldSum + silverSum + copperSum;
}