【GESP】C++一级练习 bcqm-3154, 偶数求和
GESP一级综合基础练习,涉及循环和基本运算,适合初学者起步练习,难度★☆☆☆☆。
bcqm-3154
题目要求
题目描述
输入 $n$ 个整数,求出其中所有偶数的和。
输入格式
输入第一行一个一个整数 $n(1≤n≤105)$ 表示数的个数。
接下来一行 $n$ 个 int 范围内的整数。
输出格式
一个整数,表示这些数的和
样例输入 #1
1
2
5
1 4 2 7 8
样例输出 #1
1
14
题目分析
这道题目的解题思路比较简单:
- 首先读入一个整数 $n$,表示要输入的数字个数
- 然后循环读入 $n$ 个整数,对每个整数判断:
- 如果是偶数(能被2整除),就将其加入到总和中
- 如果是奇数则跳过
- 最后输出所有偶数的和
需要注意的点:
- 由于输入数据范围较大$(n≤10^5)$,且每个数都在int范围内,所以累加和需要用long long类型来存储,防止溢出
- 判断偶数可以用取模运算
%
,如果一个数除以2的余数为0,则这个数是偶数
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
int main() {
// 输入数字的个数
int a;
cin >> a;
// 用于存储每次输入的数字
int d;
// 用long long存储累加和,防止溢出
long long ans = 0;
// 循环读入a个数字
for (int i = 0; i < a; i++) {
cin >> d;
// 如果是偶数则累加
if (d % 2 == 0) {
ans += d;
}
}
// 输出结果
cout << ans;
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP各级别考纲要点、知识拓展和练习题目清单详见C++学习项目主页
“luogu-”系列题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
“bcqm-”系列题目可在编程启蒙题库进行在线评测。
本文由作者按照 CC BY 4.0 进行授权