如题所述
第1个回答 2012-05-19
#include<stdio.h>
#define n 3
void main()
{void fact(int arr[n][n]);
int a[n][n],i,j;
printf("请输入一个%d*%d的二维整型数组\n",n,n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("转置前:\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
fact(a);
printf("转置后:\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
void fact(int arr[n][n])
{int i,j,t;
for(i=0;i<n;i++)
{for(j=i+1;j<n;j++)
{t=arr[i][j];
arr[i][j]=arr[j][i];
arr[j][i]=t;}
}
}
#define n 3
void main()
{void fact(int arr[n][n]);
int a[n][n],i,j;
printf("请输入一个%d*%d的二维整型数组\n",n,n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("转置前:\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
fact(a);
printf("转置后:\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
void fact(int arr[n][n])
{int i,j,t;
for(i=0;i<n;i++)
{for(j=i+1;j<n;j++)
{t=arr[i][j];
arr[i][j]=arr[j][i];
arr[j][i]=t;}
}
}
第2个回答 2012-05-20
///一楼 改
void trans(double *m,int n){
int i,j,t;
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;
}
}
void trans(double *m,int n){
int i,j,t;
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;
}
}
第3个回答 2012-05-19
void trans(double *m,int n){
int i,j,t;
for(i=0;i<n;i++)
for(j=0;j<n;j++){
t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;
}
}本回答被提问者和网友采纳
int i,j,t;
for(i=0;i<n;i++)
for(j=0;j<n;j++){
t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;
}
}本回答被提问者和网友采纳