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

如何实现让用户输入数组元素并在数组末尾插入新元素?

如何实现让用户输入数组元素并在末尾插入新元素?

我来给你完整实现这个功能,顺便拆解下核心思路——本质就是先让用户构建初始数组,然后通过动态更新数组长度,把新元素放到当前最后一个元素的下一位,还可以加个循环让用户能多次插入,直到不想继续为止。

完整实现代码

#include<stdio.h>
int main() {
    int i, n, insrt;
    char option;
    // 定义足够大的数组,避免插入时溢出(这里最多存100个元素)
    int array[100];

    printf("请输入初始数组的元素个数:\n");
    scanf(" %d", &n);

    // 让用户输入初始数组元素
    for(i = 0; i < n; i++) {
        printf("请输入第%d个元素:\t", i+1);
        scanf(" %d", &array[i]);
    }

    // 展示初始数组
    printf("\n你当前的数组内容是:\n");
    for(i = 0; i < n; i++) {
        printf(" %d ==>", array[i]);
    }
    printf(" NULL\n");

    // 循环实现多次末尾插入
    do {
        // 检查数组是否已满
        if(n >= 100) {
            printf("\n数组已经存满啦,不能再插入新元素了!\n");
            break;
        }
        printf("\n请输入要插入到末尾的元素:\t");
        scanf(" %d", &insrt);
        // 把新元素放到当前数组的最后一位
        array[n] = insrt;
        // 数组长度加1
        n++;

        // 展示更新后的数组
        printf("\n更新后的数组内容是:\n");
        for(i = 0; i < n; i++) {
            printf(" %d ==>", array[i]);
        }
        printf(" NULL\n");

        // 询问用户是否继续插入
        printf("\n是否要继续插入元素?(y/n):");
        scanf(" %c", &option);
    } while(option == 'y' || option == 'Y');

    printf("\n操作结束!");
    return 0;
}

关键步骤解析

  • 数组容量预留:定义int array[100]是为了给后续插入留足够空间,如果你需要更大的容量,可以修改这个数字,但要注意避免内存浪费或溢出。
  • 初始数组构建:通过for循环让用户逐个输入初始元素,同时记录数组长度n。
  • 末尾插入逻辑:每次插入时,直接把新元素赋值给array[n](因为数组下标从0开始,当前最后一个元素的下标是n-1,所以下一位就是n),然后把n加1,更新数组的实际长度。
  • 循环插入控制:用do-while循环实现多次插入,用户可以选择继续或结束,同时加了数组满的判断,防止越界访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:45:33