酷代码 AI
菜单

题目描述 现有 n n 个正整数,乌拉乎想要快速从这些数中找到并输出第 1 1 个大于 x x 数字的序号,请你帮助乌拉乎编写一个程序,实现对应的功能吧。 输入格式 输入包含三行, 第一行,一个正整数 n n。 第二行,依次为 n n个 正整数 a [ i ] a[i]。 第三行,一个正整数 x x。c++

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 读取正整数 n cin >> n; int a[1000]; // 依次读取 n 个正整数 for (int i = 0; i < n; i++) { cin >> a[i]; } int x; // 读取正整数 x cin >> x; int index = -1; // 遍历数组,找到第一个大于 x 的数字的序号 for (int i = 0; i < n; i++) { if (a[i] > x) { index = i + 1; break; } } // 输出结果 cout << index << endl; return 0; } ``` 代码解释 1. 读取输入:首先读取正整数 `n`,表示数组的长度。接着读取 `n` 个正整数,存储在数组 `a` 中。最后读取正整数 `x`。 2. 查找序号:遍历数组 `a`,找到第一个大于 `x` 的数字,记录其序号(序号从 1 开始),并跳出循环。 3. 输出结果:如果找到大于 `x` 的数字,输出其序号;如果没有找到,输出 `-1`。 复杂度分析 - 时间复杂度:$O(n)$,其中 $n$ 是数组的长度。需要遍历数组一次。 - 空间复杂度:$O(n)$,主要用于存储数组。 [2025-11-22 22:04:50 | AI问答 | 380点数解答]

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