我是C语言初学者,今天要做一个反置矩阵,但是怎么也写不出,请各位师兄帮我看看

#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[10][10],i,j,m,n;
printf("Please define the size (no more than 10!) :");
scanf("%d*%d",&m,&n);
for (j=0;j<m;j++)
{
printf("Line %d:\n",j+1);
for (i=0;i<n;i++)
scanf("%d",&a[j][i]);
}
for (j=0;j<m;j++)
{
for (i=0;i<n;i++)
printf("%4d",a[j][i]);
printf("\n");
}
system("pause");
for (i=0;i<n;i++)
{
for(j=0;j<m;j++);
printf("%4d",a[j][i]);
printf("\n");
}
}

哪里不对,结果是什么问题?追问

最后输出转置矩阵的时候出来乱数。我给你发个截图

追答

搞死人了。。
分析了半天你的程序逻辑,都是对的,还奇怪了半天
最后发现问题的:。。
第二次打印的时候
for (i=0;i<n;i++)
{
for(j=0;j<m;j++); 第二个for后面多了个分号。。。分号去掉程序就对了。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-21
找老师吧
相似回答