You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++实现两数组对应位置整数比较并生成较大值第三数组

嘿,你已经搭好了这个程序的基础框架,我来帮你补全并优化它,让它完整实现需求~

完整的C++程序实现
#include <iostream>
using namespace std;

int main() {
    int n; // number of elements
    cout << "Enter the number of elements: ";
    cin >> n;

    // Dynamically allocate memory for three arrays
    int* array = new int[n];
    int* array2 = new int[n];
    int* array3 = new int[n];

    // Input first array
    cout << "First array: " << "\n";
    for (int i = 0; i < n; i++) {
        cin >> array[i];
    }

    // Input second array
    cout << "Second array:" << "\n";
    for (int i = 0; i < n; i++) {
        cin >> array2[i];
    }

    // Compare elements and store larger values in third array
    for (int i = 0; i < n; i++) {
        // 用三元运算符简洁实现比较
        array3[i] = (array[i] > array2[i]) ? array[i] : array2[i];
        // 如果你更喜欢if-else,也可以用下面这段代码替换上面一行:
        // if (array[i] > array2[i]) {
        //     array3[i] = array[i];
        // } else {
        //     array3[i] = array2[i];
        // }
    }

    // Output the third array
    cout << "\nThird array (largest values from corresponding positions):" << "\n";
    for (int i = 0; i < n; i++) {
        cout << array3[i] << " ";
    }
    cout << endl;

    // 释放动态分配的内存,避免内存泄漏
    delete[] array;
    delete[] array2;
    delete[] array3;

    return 0;
}
关键细节解释
  • 动态内存分配:使用new int[n]为数组分配内存,这样可以根据用户输入的元素数量n灵活创建数组,而不是固定大小的静态数组,适配更多场景。
  • 元素比较逻辑:三元运算符(condition) ? val1 : val2是一种简洁的条件判断写法,和if-else功能完全一致,你可以根据自己的阅读习惯选择使用哪一种。
  • 内存释放:动态分配的内存必须用delete[]释放(注意是带方括号的delete[],因为是数组类型),如果忘记释放会导致内存泄漏,长时间运行可能影响程序性能。
  • 交互优化:添加了提示用户输入元素数量的语句,让程序的操作流程更清晰,用户体验更好。

内容的提问来源于stack exchange,提问作者Radoslav Pavlov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:45:06