题目: C语言 设计一个函数,将任意n×n的矩阵转置,并在主函数中调用此函数将一个4*4的矩阵转置。

#include <stdio.h>
#include <stdlib.h>
void zhuanzhi(int *x,int n)
{
int i,j,b[100][100];
for(i=0;i<n;i++)
{
for(i=0;j<n;j++)
{
b[i][j]=*x;
x++;
}
}
for(i=0;i<n;i++)
{
for(i=0;j<n;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
}

int main()
{
int a[10][10],n,i,j,*p=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",a[i][j]);
}
}
p=a;
zhuanzhi(p,n);

}

这是我编的程序 ,问题出在哪里?
高人求解
程序改成如下
#include <stdio.h>
#include <stdlib.h>
void zhuanzhi(int *x,int n)
{
int i,j,b[100][100];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
b[i][j]=*x;
x++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",b[j][i]);
}
printf("\n");
}
}

int main()
{
int a[10][10],n,i,j,*p=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
p=&a[0][0];
zhuanzhi(p,n);

}
运行结果不对啊T.T

第1个回答  2011-05-12
for (j=0; j<n ;++j)
你写成了for (i=0; j<n ;++j)

还有 转置不是b[j][i]么?本回答被提问者采纳
第2个回答  2011-05-14
百度知道啊

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网