输入一个3*3的整形矩阵,中间用空格或回车分隔,将其转置后输出,输出时宽度为3 c语言
时间: 2024-12-22 07:19:11 浏览: 4
在C语言中,你可以通过两步完成这个任务:首先接收输入的3x3矩阵,然后将其转置并打印出来。以下是简单的示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
// 函数声明
void printMatrix(int matrix[ROWS][COLS], int rows, int cols);
void transpose(int matrix[ROWS][COLS]);
int main() {
int matrix[ROWS][COLS];
// 接收用户输入的矩阵
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("Enter element %d,%d: ", i+1, j+1);
scanf("%d", &matrix[i][j]);
}
printf("\n"); // 换行
}
// 转置矩阵
transpose(matrix);
// 打印转置后的矩阵
printMatrix(matrix, ROWS, COLS);
return 0;
}
// 转置函数
void transpose(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = i; j < COLS; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i]; // 交换元素位置
matrix[j][i] = temp;
}
}
}
// 打印矩阵函数
void printMatrix(int matrix[ROWS][COLS], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%3d", matrix[i][j]); // 宽度为3,用%3d控制
if (j != cols - 1)
printf(" ");
}
printf("\n");
}
}
```
运行此程序,它会提示用户输入一个3x3的整数矩阵,然后显示转置后的结果。
阅读全文