#include
int i,j,n,t,k[105][105];
void transpose(int k[105][105],int n)
{
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
{
t=k[i][j];
k[i][j]=k[j][i];
k[j][i]=t;
}
}
int main()
{
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&k[i][j]);
transpose(k[105][105],n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%d ",k[i][j]);
printf("\n");
}
return 0;
}
運行不了?
函數調用transpose(k[105][105],n);改成transpose(k, n);才行。
k[105][105]表示的是第106行第106列的那個元素
#include<stdio.h>
int i, j, n, t, k[105][105];
void transpose(int k[105][105], int n)
{
for (i = 1; i <= n; i++)
for (j = 1; j <= i; j++)
{
t = k[i][j];
k[i][j] = k[j][i];
k[j][i] = t;
}
}
int main()
{
scanf("%d", &n);
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
scanf("%d", &k[i][j]);
transpose(k, n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
printf("%d ", k[i][j]);
printf("\n");
}
return 0;
}