C++编程求助:如何将指定数组中的奇数替换为偶数?
解决方案
你的代码目前只输出了奇数乘2的结果,没有保留偶数,也没完成打印原数组和完整更新数组的要求,以下是修正后的代码和说明:
关键问题点
- 未遍历打印全部原数组元素,只处理了奇数
- 仅输出了奇数乘2的结果,没有将修改后的值存回数组,也没输出偶数
- 输出时用了
endl导致每个结果换行,不符合期望的空格分隔格式
修正后的代码
#include <iostream> using namespace std; int main() { const int size = 10; int values[size] = {42, 9, 23, 101, 99, 22, 13, 5, 77, 28}; // 打印原数组 cout << "The original array is: "; for (int i = 0; i < size; i++) { cout << values[i] << " "; } cout << endl; // 换行分隔 // 修改数组:奇数乘2转为偶数 for (int i = 0; i < size; i++) { if (values[i] % 2 != 0) { values[i] *= 2; // 将修改后的值存回数组 } } // 打印更新后的数组 cout << "Your even number array is: "; for (int i = 0; i < size; i++) { cout << values[i] << " "; } cout << endl; return 0; }
代码说明
- 打印原数组:新增第一个循环,遍历数组所有元素,按空格分隔输出,先打印标题再逐个输出元素
- 修改数组元素:把原来直接输出
values[i]*2的逻辑,改成values[i] *= 2,这样修改后的值会存回数组,保留原偶数不变 - 打印更新后数组:新增第三个循环,遍历修改后的数组,同样按空格分隔输出完整内容
- 调整输出格式:用空格分隔元素,最后用
endl换行,符合期望的输出样式
运行这段代码后,就能得到你想要的输出结果。
内容的提问来源于stack exchange,提问作者samu-chan
相关产品推荐
相关产品推荐

