
c语言简单的小问题,我转置矩阵为什么转置赋值里没起作用,为什么
#include"stdio.h"voidmain(void){inta[10][10];inti,j,tem,n,m;printf("请输入你要创建多少航多少列的矩阵:...
#include"stdio.h"void main(void){ int a[10][10]; int i,j,tem,n,m; printf("请输入你要创建多少航多少列的矩阵:\n"); scanf("%d%d",&n,&m); printf("请输入数组元素值:\n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&a[i][j]); } } printf("你输入的数组是:\n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%5d",a[i][j]); } printf("\n"); } for(i=0;i<n;i++) { for(j=0;j<m;j++) { tem=a[i][j]; a[i][j]=a[j][i]; a[j][i]=tem; } } printf("转置后的的矩阵是:\n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%5d",a[i][j]); } printf("\n"); }}
展开
1个回答
展开全部
for(i=0;i<n;i++)
{
for(j=i;j<m;j++) //改成j从i开始,如果从0开始,转过去后又会被转回来
{
tem=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tem;
}
}
{
for(j=i;j<m;j++) //改成j从i开始,如果从0开始,转过去后又会被转回来
{
tem=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tem;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询