文章

【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 进行授权