C语言二维数组的赋值方式

1   #include<stdio.h>
  2 int main(){
  3         /*      char chh[]={'a','a','a','a','a','\0'};
  4                 printf("%s",chh);*/
  5         //二维数组
  6         //在定义时赋值
  7         int n[3][3]={{1,2,3},{4,5,6},{7,8,9}};
  8         //循环嵌套赋值
  9         for(int i=0;i<3;i++){
 10                 for(int j=0;j<3;j++){
 11                         scanf("%d",&n[i][j]);
 12                 }
 13         }
 14         return 0;
 15 }
 16
~       

### C语言二维数组赋值方法 在C语言中,可以通过多种方式二维数组赋值。以下是几种常见的方法及其具体实现: #### 方法一:通过初始化列表赋值 可以在声明二维数组的同时为其赋予初始值。这种方式适用于已知数据的情况。 ```c int a[5][3] = { {80, 90, 70}, {60, 85, 75}, {70, 80, 90}, {90, 85, 80}, {85, 90, 75} }; ``` 这种方法简单直观,在程序运行之前就完成了数组的赋值[^1]。 --- #### 方法二:逐个元素赋值 如果需要动态地给二维数组中的每个元素赋值,则可以使用嵌套循环来完成操作。 ```c #include <stdio.h> int main() { int a[5][3]; int i, j; printf("请输入学生的成绩:\n"); for (i = 0; i < 5; i++) { for (j = 0; j < 3; j++) { scanf("%d", &a[i][j]); } } // 打印数组内容验证赋值是否成功 printf("学生成绩如下:\n"); for (i = 0; i < 5; i++) { for (j = 0; j < 3; j++) { printf("%d ", a[i][j]); } printf("\n"); } return 0; } ``` 此方法允许用户实时输入数据并存储到二维数组中[^1]。 --- #### 方法三:从文件读取数据赋值 当数据量较大或者来源于外部文件时,可以从文件中读取数据并将其存入二维数组。 假设有一个名为 `data.txt` 的文件,其内容如下: ``` 80 90 70 60 85 75 70 80 90 90 85 80 85 90 75 ``` 代码示例如下: ```c #include <stdio.h> #define ROWS 5 #define COLS 3 int main() { FILE *file = fopen("data.txt", "r"); if (!file) { perror("无法打开文件"); return -1; } int a[ROWS][COLS]; int i, j; for (i = 0; i < ROWS && fscanf(file, "%d", &a[i][0]) != EOF; i++) { for (j = 1; j < COLS; j++) { fscanf(file, "%d", &a[i][j]); } } fclose(file); // 验证结果 printf("从文件加载的数据:\n"); for (i = 0; i < ROWS; i++) { for (j = 0; j < COLS; j++) { printf("%d ", a[i][j]); } printf("\n"); } return 0; } ``` 这种技术适合处理大量静态数据或批量导入场景。 --- #### 方法四:函数返回值形式赋值 还可以编写一个专门用于填充二维数组的函数,并调用它来进行赋值。 ```c #include <stdio.h> void fillArray(int array[][3], int rows) { int i, j; printf("请输入学生成绩:\n"); for (i = 0; i < rows; i++) { for (j = 0; j < 3; j++) { scanf("%d", &array[i][j]); } } } int main() { int scores[5][3]; fillArray(scores, 5); // 输出验证 printf("录入的成绩如下:\n"); for (int i = 0; i < 5; i++) { for (int j = 0; j < 3; j++) { printf("%d ", scores[i][j]); } printf("\n"); } return 0; } ``` 利用函数可以使主逻辑更加清晰简洁[^1]。 --- ### 总结 以上介绍了四种不同的二维数组赋值方法,分别是 **初始化列表赋值**、**逐个元素赋值**、**从文件读取数据赋值** 和 **函数返回值形式赋值**。每种方法都有各自的适用范围和特点,开发者可以根据实际需求选择合适的方式
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值