文章

【GESP】C++一级练习 luogu-B2058, 奥运奖牌计数

一级知识点循环和求和练习。

luogu-B2058

题目要求

描述

$2008$ 年北京奥运会,A 国的运动员参与了 $n$ 天的决赛项目 $(1 \le n \le 100)$。现在要统计一下 A 国所获得的金、银、铜牌数目及总奖牌数。输入第 $1$ 行是 A 国参与决赛项目的天数 $n$,其后 $n$ 行,每一行是该国某一天获得的金、银、铜牌数目(不超过 $100)$。输出 $4$ 个整数,为 A 国所获得的金、银、铜牌总数及总奖牌数。

输入

第 $1$ 行是 A 国参与决赛项目的天数 $n$,其后 $n$ 行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。

输出

输出 $1$ 行,包括 $4$ 个整数,为 A 国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。

输入样例-1

1
2
3
4
3
1 0 3
3 1 0
0 3 0

输出样例-1

1
4 4 3 11

题目分析

  • 读取整数 $n$ 的值,表示决赛项目的天数
  • 初始化变量 $ans$、$bns$、$cns$,用于存储金、银、铜牌的总数
  • 遍历从 $1$ 到 $n$ 的所有整数 $i$,模拟每一天的统计
  • 在每一天的统计中,读取当天获得的金、银、铜牌数目,并累加到对应的总数中
  • 输出金、银、铜牌的总数及总奖牌数

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std; // 使用标准命名空间

int main() {
    int n; // 定义变量n,用于存储决赛项目的天数
    cin >> n; // 从输入流中读取n的值
    int a, b, c; // 定义变量a、b、c,用于存储每天获得的金、银、铜牌数目
    int ans = 0, bns = 0, cns = 0; // 初始化变量ans、bns、cns,用于存储金、银、铜牌的总数
    for (int i = 1; i <= n; i++) { // 从1到n的循环,模拟每一天的统计
        cin >> a >> b >> c; // 从输入流中读取每天的金、银、铜牌数目
        ans += a; // 累加金牌数目
        bns += b; // 累加银牌数目
        cns += c; // 累加铜牌数目
    }
    cout << ans << " " << bns << " " << cns << " " << ans + bns + cns; // 输出金、银、铜牌的总数及总奖牌数
    return 0; // 返回0,表示程序执行成功
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

本文由作者按照 CC BY 4.0 进行授权