酷代码 AI
菜单
服务商

c++ 题目描述 现有 n n 个正整数,乌拉乎想要从这些数中找到与指定的数字 x x 相等的数依次是这些数中的第几个,请你帮助乌拉乎编写程序实现对应的功能吧。 输入格式 输入包含三行, 第一行,一个正整数 n n。 第二行,依次为 n n个 正整数 a [ i ] a[i]。 第三行,一个正整数 x x。 输出格式 若干个正整数,依次输出在这 n n 个数中,与 x x 相等的数是第几个数,数之间使用一个空格隔开。

```cpp #include <iostream> using namespace std; int main() { int n, x; cin >> n; int a[1000]; for (int i = 0; i < n; i++) { cin >> a[i]; } cin >> x; bool first = true; for (int i = 0; i < n; i++) { if (a[i] == x) { if (!first) { cout << " "; } cout << i + 1; first = false; } } return 0; } ``` 代码解释 1. 输入处理: - 首先读取一个正整数 `n`,它代表正整数的数量。 - 接着使用 `for` 循环读取 `n` 个正整数,并将它们存储在数组 `a` 中。 - 最后读取指定的数字 `x`。 2. 查找匹配元素: - 使用 `for` 循环遍历数组 `a`。 - 对于数组中的每个元素,如果它等于 `x`,则输出该元素在数组中的位置(注意位置从 1 开始,所以输出 `i + 1`)。 - 为了保证输出的数之间用一个空格隔开,使用 `first` 布尔变量来标记是否是第一个匹配的元素。如果不是第一个匹配元素,先输出一个空格,再输出当前匹配元素的位置。 复杂度分析 - 时间复杂度:$O(n)$,因为只需要对数组进行一次遍历。 - 空间复杂度:$O(n)$,主要用于存储输入的 `n` 个正整数。 [2025-12-12 20:20:00 | AI问答 | 402点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多