【GESP】C++三级练习 luogu-B2087, 与指定数字相同的数的个数
GESP三级知识点一维数组练习,题目本身逻辑不复杂。
luogu-B2087
题目要求
题目描述
输出一个整数序列中与指定数字相同的数的个数。
输入格式
输入包含三行:
第一行为 $n$,表示整数序列的长度($n\le100$);
第二行为 $n$ 个整数,整数之间以一个空格分开;
第三行包含一个整数,为指定的整数 $m$。
输出格式
输出为 $n$ 个数中与 $m$ 相同的数的个数。
样例输入 #1
1
2
3
3
2 3 2
2
样例输出 #1
1
2
题目分析
- 这是一道简单的计数问题。我们需要遍历输入的整数序列,并统计与指定数字相同的数的个数。可以使用一个数组还来存储输入的序列。
- 然后用循环来遍历整个数列,并在每次循环中检查当前数是否等于指定的数字。
- 如果是,则计数器加1。最后,输出计数器的值,即与指定数字相同的数的个数。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main() {
int n; // 定义一个整数变量n,用于存储整数序列的长度
cin >> n; // 从输入流中读取n的值
int a; // 定义一个整数变量a,用于临时存储输入的整数
int ans = 0; // 定义一个整数变量ans,用于存储与指定数字相同的数的个数
int m; // 定义一个整数变量m,用于存储指定的整数
int* count = new int[n]; // 动态分配一个长度为n的整数数组,用于存储输入的整数序列
for (int i = 1; i <= n; i++) {
cin >> count[i - 1]; // 从输入流中读取整数序列,并存储到count数组中
}
cin >> m; // 从输入流中读取指定的整数m
for (int e = 1; e <= n; e++) {
if (m == count[e - 1]) {
ans += 1; // 如果当前数等于m,则ans加1
}
}
cout << ans; // 输出ans的值,即与m相同的数的个数
return 0; // 返回0,表示程序执行成功
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权