#include<stdio.h> int main() { int N,i,t,j; int a[100][100]; while(scanf("%d",&N)!=EOF) { for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]); for(i=0;i<N;i++) for(j=i;j<=N;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%d ",a[i][j]); printf("\n"); } } return 0; }
解题思路:
注意事项:
首先,j=i是为了避免交换两个元素之后再次换回去 其次,j<=N,如果是j<=N-i,当你输入四阶矩阵时,当i=2,(j=2;j<=2;j++),导致i=2,j=3这个元素不能转置
参考代码:
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:583 |
川哥的吩咐 (C++代码)浏览:1008 |
十->二进制转换 (C语言代码)浏览:1291 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:262 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1456 |
剪刀石头布 (C++代码)浏览:1703 |
C二级辅导-等差数列 (C语言代码)浏览:808 |
数列排序 (C语言代码)浏览:606 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:503 |
陶陶摘苹果2 (C++代码)浏览:537 |