c语言怎么输入不同的矩阵
时间: 2024-10-18 09:14:57 浏览: 21
在C语言中,输入不同大小或类型的矩阵通常涉及到动态内存分配和字符数组处理。这里是一个简单的示例,展示如何通过循环读取用户输入来创建二维整数矩阵:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 5 // 可以让用户输入,这里为了示例固定
#define COLS 4 // 同样可以由用户输入
int main() {
int **matrix; // 定义指向整型二维数组的指针
int row, col, num;
// 分配足够的内存
matrix = (int **)malloc(sizeof(int *) * ROWS);
if (!matrix) {
perror("Memory allocation failed");
return 1;
}
for (row = 0; row < ROWS; row++) {
matrix[row] = (int *)malloc(sizeof(int) * COLS); // 每行分配空间
if (!matrix[row]) {
perror("Memory allocation failed");
free(matrix);
return 1;
}
printf("请输入第%d行第%d列的元素: ", row + 1, 1);
for (col = 0; col < COLS; col++) {
scanf("%d", &num);
matrix[row][col] = num; // 读取并存储数字
}
}
// 使用矩阵
for (row = 0; row < ROWS; row++) {
for (col = 0; col < COLS; col++) {
printf("%d ", matrix[row][col]);
}
printf("\n");
}
// 释放内存
for (row = 0; row < ROWS; row) {
free(matrix[row]);
}
free(matrix);
return 0;
}
阅读全文