在C语言中输入矩阵的方法有多种,以下是一些常见的方法:
方法一:使用嵌套循环
这是最常见的方法,通过嵌套循环逐行逐列地读取用户输入的数据。
```c
include
int main() {
int row, col, matrix;
printf("请输入矩阵的行数:");
scanf("%d", &row);
printf("请输入矩阵的列数:");
scanf("%d", &col);
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("请输入矩阵元素(%d,%d):", i + 1, j + 1);
scanf("%d", &matrix[i][j]);
}
}
// 打印矩阵
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
方法二:动态内存分配
如果矩阵的大小在运行时才能确定,可以使用动态内存分配来实现。
```c
include include int main() { int rows, cols; printf("请输入矩阵的行数和列数: "); scanf("%d %d", &rows, &cols); int matrix = (int )malloc(rows * sizeof(int *)); for (int i = 0; i < rows; i++) { matrix[i] = (int *)malloc(cols * sizeof(int)); } printf("请输入矩阵的元素: "); for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { scanf("%d", &matrix[i][j]); } } // 打印矩阵 for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { printf("%d ", matrix[i][j]); } printf("\n"); } // 释放内存 for (int i = 0; i < rows; i++) { free(matrix[i]); } free(matrix); return 0; } ``` 方法三:使用字符数组模拟字符串矩阵 如果需要输入类似矩阵的字符串数据,可以使用字符数组。 ```c include include int main() { char array; strcpy(array, "HELLO"); strcpy(array, "HY"); printf("%s\n%s\n", array, array); return 0; } ``` 方法四:使用结构体定义矩阵 可以定义一个结构体来表示矩阵,并包含行数、列数和数据。