Description
Alex最近又喜欢上了矩阵转置游戏,这个游戏非常简单,将一个3*3的矩阵转置即可。现在,请你用指针写一个程序来实现矩阵转置功能。
Input
输入包含多组测试数据,对于每组测试数据,包含一个3*3的矩阵,每个元素的值都在0到9之间。
Output
一个转置后的3*3的矩阵。每组测试数据之间用一个空行隔开。
Samples
input
1 2 3
4 5 6
7 8 9
output
1 4 7
2 5 8
3 6 9
#include <stdio.h> #pragma warning (disable:4996) // 函数声明 void transposeMatrix(int matrix[3][3]); int main() { // 读取测试组数 for (;1;) { int matrix[3][3]; // 读取矩阵元素 for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { if (scanf("%d", &matrix[i][j]) == EOF)return 0; } } // 调用函数进行矩阵转置 transposeMatrix(matrix); // 输出转置后的矩阵 for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { printf("%d", matrix[i][j]); // 输出空格或换行 if (j < 2) { printf(" "); } else { printf("\n"); } } } // 输出空行,分隔测试数据 printf("\n"); } return 0; } // 函数定义:矩阵转置 void transposeMatrix(int matrix[3][3]) { int temp; for (int i = 0; i < 3; ++i) { for (int j = i + 1; j < 3; ++j) { // 交换元素 temp = matrix[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = temp; } } }