C 语言题 急急急急急急急急急急急急急

来源:百度知道 编辑:UC知道 时间:2024/05/08 20:09:25
#include <stdio.h>
#define MAXSIZE 100

typedef struct
{
int i,j;
int e;
}triple;
typedef struct
{
triple data[MAXSIZE+1];
int mu,nu,tu;

}tsmatrix;
main()
{
int col=1;
int p,q;
int n;
int x=1;

tsmatrix m,t;
m.mu=3;m.nu=2;m.tu=6;
for(n=1;n<=6;n++)
{
m.data[n].e=x++;
}
t.mu=m.nu;
t.nu=m.mu;
t.tu=m.tu;
if(t.tu)
{
q=1;
for(col=1;col<=m.nu;++col)
for(p=1;p<=m.tu;++p)
if(m.data[p].j==col)
{
t.data[q].i=m.data[p].j;
t.data[q].j=m.data[p].i;
t.data[q].e=m.data[p].e;
++q;
printf("%d\t",t.data[q].e);
}
}
}

请高手帮我看看这个程序为什么什么都没有输入。我只想知道这个程序错误的地方,不需要其它算法
/*---------------------转置矩阵--------------------------*/
#include <

LZ想问的是程序为什么没有输出吧?
>>>>>>if(m.data[p].j==col)
你的m.data[p].j从来就没有赋过值,你认为m.data[p].j会等于多少?
你觉得这个条件会满足吗?这条判断不满足又怎么会执行printf语句呢?
结构里面定义了mu和nu,那tu是干什么的?如果这个nu不等于mu*nu的话...
if(t.tu)这个条件是做什么用的?你觉得有和没有这个判断有区别吗?
基本上整个程序都是一个错误...不需要其它算法的话...还真不知道这个程序能做什么...