
键盘输入一个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;
} 展开
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;
} 展开
1个回答
展开全部
#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;
主要是要只遍历上三角阵,才不会交换两次。
给个采纳吧!
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询