#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语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:612 |
C语言训练-尼科彻斯定理 (C语言代码)浏览:468 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1175 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:457 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
水仙花 (C语言代码)浏览:1052 |
核桃的数量 (C语言代码)浏览:671 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:488 |
C二级辅导-进制转换 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:474 |