c语言的二维浮点数组问题

#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;i++)
{ 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");
}
}
运行时有大问题,无法将数按行输入!

#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");
}
}
你存在的错误,请对照一下看看
温馨提示:答案为网友推荐,仅供参考
第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");
}
}
你存在的错误,请对照一下看看
相似回答