酷代码 AI
菜单
服务商

#include <iostream> using namespace std; int main() { int a[10]; for(int i=0;i<10;i++) { cin>>a[i]; } for(int i=0;i<10;i++) { if(i%2==1) { cout<<a[i]<<endl; } } return 0; }

这段 C++ 代码的功能是从用户那里读取 10 个整数,存储在一个长度为 10 的整数数组 `a` 中,然后将数组中索引为奇数的元素依次输出,每个元素占一行。 代码解释 1. 头文件和命名空间: ```cpp #include <iostream> using namespace std; ``` - `#include <iostream>` 是预处理指令,用于包含标准输入输出流库,它提供了 `cin` 和 `cout` 等输入输出对象。 - `using namespace std;` 声明使用标准命名空间,这样在代码中就可以直接使用标准库中的对象和函数,而无需加上 `std::` 前缀。 2. 主函数: ```cpp int main() { // 代码主体 return 0; } ``` - `int main()` 是程序的入口点,程序从这里开始执行。 - `return 0;` 表示程序正常结束,返回值 0 通常表示程序执行成功。 3. 数组定义和输入: ```cpp int a[10]; for(int i=0;i<10;i++) { cin>>a[i]; } ``` - `int a[10];` 定义了一个包含 10 个整数的数组 `a`。 - `for` 循环用于遍历数组的每个元素,通过 `cin>>a[i];` 从标准输入读取一个整数,并将其存储到数组的第 `i` 个位置。 4. 输出奇数索引元素: ```cpp for(int i=0;i<10;i++) { if(i%2==1) { cout<<a[i]<<endl; } } ``` - 另一个 `for` 循环再次遍历数组的每个元素。 - `if(i%2==1)` 用于判断当前索引 `i` 是否为奇数,如果是奇数,则通过 `cout<<a[i]<<endl;` 将数组中该索引对应的元素输出到标准输出,并换行。 复杂度分析 - 时间复杂度:$O(n)$,其中 $n$ 是数组的长度(这里 $n = 10$)。因为代码中使用了两个简单的 `for` 循环,每个循环都需要遍历数组一次。 - 空间复杂度:$O(n)$,主要用于存储数组。 示例运行 假设用户输入: ``` 1 2 3 4 5 6 7 8 9 10 ``` 程序将输出: ``` 2 4 6 8 10 ``` 改进建议 如果想要处理不同长度的数组,可以将数组长度作为变量输入,而不是硬编码为 10。以下是改进后的代码: ```cpp #include <iostream> using namespace std; int main() { int n; cout << "请输入数组的长度: "; cin >> n; int *a = new int[n]; // 动态分配数组 cout << "请输入 " << n << " 个整数: "; for(int i = 0; i < n; i++) { cin >> a[i]; } cout << "数组中索引为奇数的元素为:" << endl; for(int i = 0; i < n; i++) { if(i % 2 == 1) { cout << a[i] << endl; } } delete[] a; // 释放动态分配的内存 return 0; } ``` 这个改进后的代码允许用户输入数组的长度,然后根据输入的长度动态分配数组,并输出数组中索引为奇数的元素。使用 `delete[]` 释放动态分配的内存,避免内存泄漏。 [2026-01-12 11:03:43 | AI问答 | 892点数解答]

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