键盘输入一个N*N的矩阵,将其转置(行变列,列变行)

#include<stdio.h>intmain(){intn,i,j,t,a[100][100];for(i=0;i<n;i++)for(j=0;j<n;j++)sca... #include <stdio.h>
int main()
{
int n,i,j,t,a[100][100];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d", &a[i][j]);
/********************************************************/
//只允许在此填写代码,其他任何地方不得修改,也不允许定义任何变量或数组

/********************************************************/

for(i=0; i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
printf("%5d", a[i][j]) ;
printf("\n");
}
return 0;
#include <stdio.h>
int main()
{
int n,i,j,t,a[100][100];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d", &a[i][j]);
/********************************************************/
//只允许在此填写代码,其他任何地方不得修改,也不允许定义任何变量或数组

/********************************************************/

for(i=0; i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
printf("%5d", a[i][j]) ;
printf("\n");
}
return 0;
}
展开
 我来答
哎明I雨
推荐于2017-12-15
知道答主
回答量:9
采纳率:100%
帮助的人:10万
展开全部
#include <stdio.h>
int main()
{
int n,i,j,t,a[100][100];
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=0;j<n;j++)
if(i<=j){ /*只遍历上上角阵*/
t=a[i][j]; /*以下三句交换a[i][j]和a[j][i]*/
a[i][j]=a[j][i];
a[j][i]=t;
主要是要只遍历上三角阵,才不会交换两次。
给个采纳吧!
追问
不对啊!编译后运行不了唉
追答
不好意思啊,看都没看把你前面的直接复制了,你忘了输入n了。
这几天没怎么上知道,所以到这么晚。
完整解答:
#include
int main(void)
{
int n,i,j,t,a[100][100];
scanf("%d",&n); /////*这里刚才忘了写,所以出了问题*////
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=0;j<n;j++)
if(i<=j){ /*只遍历上上角阵*/
t=a[i][j]; /*以下三句交换a[i][j]和a[j][i]*/
a[i][j]=a[j][i];
a[j][i]=t;}
for(i=0;i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式