酷代码 AI
菜单

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

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int a[1000]; for (int i = 0; i < n; i++) { cin >> a[i]; } int x; 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`,表示正整数的个数。 - 用循环读取`n`个正整数存储在数组`a`中。 - 读取指定的数字`x`。 2. 查找匹配元素: - 使用`for`循环遍历数组`a`。 - 若当前元素`a[i]`等于`x`,就输出该元素的位置(位置从 1 开始,所以是`i + 1`)。 - 为避免输出多余空格,使用`first`布尔变量来标记是否为第一个匹配元素。 3. 输出结果: - 若当前元素是匹配元素且不是第一个匹配元素,先输出一个空格,再输出元素位置。 - 若当前元素是第一个匹配元素,直接输出元素位置,并将`first`置为`false`。 [2025-11-22 20:18:56 | AI问答 | 372点数解答]

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