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

如何在C语言中给二维数组元素赋值并生成指定规则数组?

C语言二维数组相关问题解答

1. 给二维数组整数元素添加数值的方法

给所有元素加固定值

嵌套遍历数组的每一个元素,在原元素基础上直接加上目标数值即可。示例代码:

#include <stdio.h>

int main() {
    int arr[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}};
    int add_num = 5; // 要添加的数值
    int i, j;

    // 遍历所有元素并执行加法
    for(i = 0; i < 3; i++) {
        for(j = 0; j < 3; j++) {
            arr[i][j] += add_num;
        }
    }

    // 打印结果
    for(i = 0; i < 3; i++) {
        for(j = 0; j < 3; j++) {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

给特定位置元素加值

直接通过数组下标定位到目标元素,执行加法操作即可。比如给第2行第3列(下标[1][2])的元素加3:

arr[1][2] += 3;

2. 生成符合指定规则的二维数组

先明确目标数组的规律:

  • 共5行4列
  • 首列元素是1到5的连续整数
  • 第2列从10开始,每行递增1;第3列从20开始,每行递增1;第4列从30开始,每行递增1

你的原代码只给所有元素赋值为行索引i,完全没用到列索引j,自然生成不了符合要求的数组。修正后的代码如下:

#include <stdio.h>

int main() {
    int arr[5][4]; // 按需定义5行4列即可,无需10x10
    int i, j;

    for(i = 0; i < 5; i++) {
        // 首列赋值1-5
        arr[i][0] = i + 1;
        // 处理第2到第4列
        for(j = 1; j < 4; j++) {
            // 每列起始值为10*j,加上行索引i实现每行+1
            arr[i][j] = 10 * j + i;
        }
    }

    // 打印验证数组
    for(i = 0; i < 5; i++) {
        printf("[");
        for(j = 0; j < 4; j++) {
            printf("%d", arr[i][j]);
            if(j != 3) printf(" ");
        }
        printf("]\n");
    }
    return 0;
}

运行后会输出预期的数组:

[1 10 20 30]
[2 11 21 31]
[3 12 22 32]
[4 13 23 33]
[5 14 24 34]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:01:35