第1个回答 2010-04-28
#include<stdio.h>
int main()
{
int i,j,r,l;
float num[10][10],num1[50][50];
printf("请输入数组的行数:");
scanf("%d",&r);
printf("请输入数组的列数:");
scanf("%d",&l);
for(i=0;i<r;i++)
{ for(j=0;j<l;j++)
{
printf("请输入第%d行,第%d列的数:\n",i+1,j+1);
scanf("%f",&num[i][j]);
}
}
/*进行转置*/
for(i=0;i<r;i++)
for(j=0;j<l;i++)
num[i][j]=num1[j][i];
/*转置前*/
for(i=0;i<r;i++)
{ for(j=0;j<l;i++)
printf("%f",num[i][j]);
printf("\n");
}
/*转置后*/
for(i=0;i<l;i++)
{ for(j=0;j<r;i++)
printf("%f",num1[i][j]);
printf("\n");
}
}
一个小小的问题
for(i=0;i<r;i++)
{ for(j=0;j<l;i++) ————这里 j++
{ printf("请输入第%d行,第%d列的数:\n",i+1,j+1);
scanf("%f",&num[i][j]);
}
}
第2个回答 2019-11-12
#include<stdio.h>
void
main()
{
int
i,j,r,l;
float
num[50][50],num1[50][50];
printf("请输入数组的行数:");
scanf("%d",&r);
printf("请输入数组的列数:");
scanf("%d",&l);
for(i=0;i<r;i++)
{
for(j=0;j<l;j++)
{
printf("请输入第%d行,第%d列的数:\n",i+1,j+1);
scanf("%f",&num[i][j]);
}
}
/*进行转置*/
for(i=0;i<l;i++)
for(j=0;j<r;j++)
num1[i][j]=num[j][i];
/*转置前*/
printf("转置前:\n");
for(i=0;i<r;i++)
{
for(j=0;j<l;j++)
printf("%.3f
",num[i][j]);
printf("\n");
}
printf("\n");
/*转置后*/
printf("转置后:\n");
for(i=0;i<l;i++)
{
for(j=0;j<r;j++)
printf("%.3f
",num1[i][j]);
printf("\n");
}
}
你存在的错误,请对照一下看看