#include<stdio.h>
void mat_transpose(int a[60][3],int b[60][3])
{ int m,n,t,p,q,col;
m=a[0][0];n=a[0][1];t=a[0][2];
b[0][0]=n;b[0][1]=m;b[0][2]=t;
if(t>0)
{q=1;
for(col=0;col<n;col++)
for(p=1;p<=t;p++)
if(a[p][1]==col)
{ b[q][0]=a[p][1];b[q][1]=a[p][0];
b[q][2]=a[p][2];q++;}
}}
void main()
{int a[60][3],b[60][3];
int i,n,m,t,s;
printf("请输入非零元素的个数:\n");
scanf("%d",&t);
printf("请输入矩阵的行数:\n");
scanf("%d",&m);
printf("请输入矩阵的列数:\n");
scanf("%d",&n);
printf("请输入稀疏矩阵非零元素的三元组:");
a[0][0]=m;
a[0][1]=n;
a[0][2]=t;
for(s=1;s<=t;s++)
{for(i=0;i<=2;i++)
scanf("%d",&a[s][i]);}
printf("原三元组为:\n");
for(s=0;s<=t;s++)
{ for(i=0;i<=2;i++)
printf("%3d",a[s][i]);
printf("\n");}
mat_transpose(a,b);
printf("\n");
printf("转置后的数组:\n");
for(s=0;s<=t;s++)
{for(i=0;i<=2;i++)
printf("%3d",b[s][i]);
printf("\n");}
}
这个应该可以
Experience is a hardteacher,she gives the test first,the lesson afterwards.