请教各位前辈!

风口上的程序员 2010-04-12 10:42:25
下面的代码在编译时没有出错,但在执行时却无法工作,本人没有调试过这么复杂的代码,请各位帮帮忙!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int KL[2][4]={{2,3,5,1},{4,6,3,0}};
int LG[2][5]={{1,2,5,4,1},{2,3,5,2,0}};
int N=5,LN=2,ZL=0, q=0,Q=300;
int LOTN_max=4,H,I,J,S,M,L,qs;
int K[8][8],K1[8][8],ML[6];
int Ls[6]={100,200,100,150,200,150};
int P=6;
float Dq[6]={200,250,210,230,240,260};
int q1[6];

for(H=1;H<=5;H++)
{
for(I=1;I<=LN;I++)
{
for(J=1;J<=LOTN_max;J++)
{
if(KL[I][J]=H)
{
if(J=1)
{
K[H][S]=LG[I][J];
S=S+1;
}
else
{
if(1<J<LOTN_max+1)
{
K[H][S+1]=LG[I][J];
K[H][S]=LG[I][J-1];
S=S+2;
}
else
{
K[H][S]=LG[I][LOTN_max];
S=S+1;
}
}
}
}
}
}
for(H=0;H<5;H++)
{
for(S=0;S<8;S++)
{
printf("%5d",K[H][S]);
}
printf("\n");
}

for(H=1;H<=N;H++)
{
for(M=2;M<=8;M++)
{
for(S=1;S<=M-1;S=S+1)
{
if(K[H][M]=K[H][S])
{
K[H][M]=0;
}
}

}
H=H+1;
}
for(H=0;H<8;H++)
{
for(M=0;M<8;M++)
{
printf("%5d",K1[H][M]);
}
printf("\n");
}

for(I=1;I<=N;I++)
{
L=0;
for(J=1;J<=8;J++)
{
if(K[I][J]!=0)
L=L+Ls[K[I][J]];
}
ML[I]=L;
}
for(I=0;I<6;I++)
{
ZL=ZL+Ls[I];
}

for(I=1;I<=N;I++)
{
q=q+Dq[I];
}
qs=(Q-q)/ZL;
for(I=1;I<=N;I++)
{
q1[I]=0.5*qs*ML[I];
}
for(I=1;I<=N;I++)
{
q1[I]=q1[I]+Dq[I];
}
for(I=0;I<N;I++)
{
printf("%d",q1[I]);
printf("\n");
}
}
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanchristin 2010-04-13
  • 打赏
  • 举报
回复
同楼上上
Thirty 2010-04-13
  • 打赏
  • 举报
回复
我只给你格式化一下
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int KL[2][4]={{2,3,5,1},{4,6,3,0}};
int LG[2][5]={{1,2,5,4,1},{2,3,5,2,0}};
int N=5,LN=2,ZL=0, q=0,Q=300;
int LOTN_max=4,H,I,J,S,M,L,qs;
int K[8][8],K1[8][8],ML[6];
int Ls[6]={100,200,100,150,200,150};
int P=6;
float Dq[6]={200,250,210,230,240,260};
int q1[6];

for ( H=1; H<=5; H++ )
{
for ( I=1; I<=LN; I++ )
{
for ( J=1; J<=LOTN_max; J++ )
{
if ( KL[I][J]=H )
{
if ( J=1 )
{
K[H][S]=LG[I][J];
S=S+1;
}
else
{
if ( 1<J<LOTN_max+1 )
{
K[H][S+1]=LG[I][J];
K[H][S]=LG[I][J-1];
S=S+2;
}
else
{
K[H][S]=LG[I][LOTN_max];
S=S+1;
}
}
}
}
}
}
for ( H=0; H<5; H++ )
{
for ( S=0; S<8; S++ )
{
printf ( "%5d",K[H][S] );
}
printf ( "\n" );
}

for ( H=1; H<=N; H++ )
{
for ( M=2; M<=8; M++ )
{
for ( S=1; S<=M-1; S=S+1 )
{
if ( K[H][M]=K[H][S] )
{
K[H][M]=0;
}
}

}
H=H+1;
}
for ( H=0; H<8; H++ )
{
for ( M=0; M<8; M++ )
{
printf ( "%5d",K1[H][M] );
}
printf ( "\n" );
}

for ( I=1; I<=N; I++ )
{
L=0;
for ( J=1; J<=8; J++ )
{
if ( K[I][J]!=0 )
L=L+Ls[K[I][J]];
}
ML[I]=L;
}
for ( I=0; I<6; I++ )
{
ZL=ZL+Ls[I];
}

for ( I=1; I<=N; I++ )
{
q=q+Dq[I];
}
qs= ( Q-q ) /ZL;
for ( I=1; I<=N; I++ )
{
q1[I]=0.5*qs*ML[I];
}
for ( I=1; I<=N; I++ )
{
q1[I]=q1[I]+Dq[I];
}
for ( I=0; I<N; I++ )
{
printf ( "%d",q1[I] );
printf ( "\n" );
}
}
Vmary 2010-04-12
  • 打赏
  • 举报
回复
if(1<J<LOTN_max+1)

最好不要用这种关系表达式,可以用&&,||.

if里等于用==。

程序太难看,没细看,自己找吧!
Vmary 2010-04-12
  • 打赏
  • 举报
回复
if(KL[I][J]=H)
{
if(J=1)
{
==

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧