在C语言中,输入一段矩阵通常使用嵌套循环来逐行逐列地读取用户输入的数据。以下是一个简单的示例,用于输入一个3x3的矩阵:
```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;
}
```
在这个示例中,我们首先定义了一个二维数组 `matrix` 来存储矩阵的元素。然后,使用嵌套的 `for` 循环逐行逐列地读取矩阵元素。注意,这里使用了嵌套循环的结构,以便在一个循环中同时处理行和列。最后,程序打印出输入的矩阵。
如果你需要处理动态大小的矩阵,可以使用动态内存分配来实现。以下是一个示例代码,演示了如何输入一个动态矩阵:
```c
include include int main() { int rows, cols; int matrix; // 获取矩阵的行数和列数 printf("请输入矩阵的行数和列数: "); scanf("%d %d", &rows, &cols); // 分配内存 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]); } } // 打印矩阵 printf("输入的矩阵为: \n"); 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; } ``` 在这个示例中,我们首先获取用户输入的矩阵行数和列数,然后使用 `malloc` 函数动态分配内存来存储矩阵的行和列。接着,使用嵌套的 `for` 循环逐行逐列地读取矩阵元素。最后,程序打印出输入的矩阵,并在完成后释放分配的内存。 这两种方法都可以实现矩阵的输入,选择哪种方法取决于具体需求和程序的设计。