1252 - C语言10.22
时间限制 : 1 秒
内存限制 : 32 MB
写一个函数,将一个3×3的整形矩阵转置。
题目输入
共有三行,每行包括三个用空格隔开的整数,表示整个3×3的矩阵。
题目输出
与输入格式相同,输出转置后的矩阵。在每个整数后输出一个空格。
请注意行尾输出换行。
输入/输出样例
输入格式
1 2 3 4 5 6 7 8 9
输出格式
1 4 7 2 5 8 3 6 9
C语言解答
int main(int argc, char* argv[]) { int a[3][3],i,j,tem; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) for(j=0;j<i;j++) {tem=a[i][j];a[i][j]=a[j][i];a[j][i]=tem;} for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%d ",a[i][j]); puts("");} return 0; }
C++解答
#include <stdio.h> int main() { void T(int mat[][3]); int mat[3][3]; int i, j; for (i = 0;i < 3;i++) for (j = 0;j < 3;j++) scanf("%d", &mat[i][j]); T(mat); for (i = 0;i < 3;i++) { for (j = 0;j < 3;j++) printf("%d ", mat[i][j]); printf("\n"); } return 0; } /* 矩阵转置函数 */ void T(int mat[][3]) { int i, j, temp; for (i = 0;i < 3;i++) { for (j = 0;j < i;j++) { temp = mat[i][j]; mat[i][j] = mat[j][i]; mat[j][i] = temp; } } }
Java解答
import java.util.*; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int [][]a=new int[3][3]; int c=0; for(int i=0;i<3;i++) for(int j=0;j<3;j++) a[i][j]=in.nextInt(); for(int j=0;j<3;j++) System.out.print (a[j][0]+" "); System.out.println (); for(int j=0;j<3;j++) System.out.print (a[j][1]+" "); System.out.println (); for(int j=0;j<3;j++) System.out.print (a[j][2]+" "); System.out.println (); } }