找元素

GESP三级练习,一维数组练习,难度★✮☆☆☆。

luogu-T250431 找元素

题目要求

题目描述

给出一个整数 nn1n1001\le n \le 100),以及 nn 个正整数,请输出 xx 最后一次出现的位置。
保证在这 nn 个正整数中一定有至少一个 xx

输入格式

第一行,输入一个整数 nn

第二行,输入 nn 个整数,a1,a2,,ana_1, a_2,\dots,a_n

第三行,输入一个整数 xx

输出格式

共一行,一个整数,表示整数 x 在序列中最后一次出现的位置

样例输入 #1

5
1 2 3 2 1
2

样例输出 #1

4

样例输入 #2

8
8 7 6 5 4 3 2 1
1

样例输出 #2

8

提示

数据范围:1n1001\le n\le 100,保证所有整数都在 int 范围内。


题目分析

本题的解题思路是通过遍历数组来找到最后一个出现的目标数x的位置。首先,我们需要读取输入的整数n和数组a中的元素。然后,我们从数组的末尾开始遍历,直到找到第一个等于x的元素,并输出其位置。

{% include custom/custom-post-content-inner.html %}

示例代码

#include <iostream>
using namespace std;

int main() {
    int n, x; // 定义变量n, x
    cin >> n; // 读取输入的n
    int a[n]; // 定义数组a,大小为n
    for (int i = 0; i < n; i++) { // 循环读取n个整数到数组a
        cin >> a[i];
    }
    cin >> x; // 读取输入的整数x
    for (int i = n - 1; i >= 0; i--) { // 从数组a的末尾开始遍历,直到找到第一个等于x的元素
        if (a[i] == x) {
            cout << i + 1; // 输出找到的元素的位置
            break; // 找到后跳出循环
        }
    }
    return 0; // 返回0,表示程序正常结束
}

{% include custom/custom-post-content-footer.md %}

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

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on