


看得我头都晕了,你提供的源程序整理后如下,太多错误和警告,待研究后再说:
#include <stdio.h>
#include <math.h>
main()
{
float w,wu,wl,wd,qg,im,wm,um,lm,b,c,cg,u,k,fc;
printf("请输入:w,wu,wl,wd,qg,im,wm,um,lm,b,c,cg,u,k,fc,\n");
scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",&w ,&wu ,&wl ,&wd ,&qg,&im,&wm,&um,&lm,&b,&c,&cg,&u,&k,&fc);
float a[15][10];
static float a[15][3]={{20,0,0},{21,0,4.8},{22,16.5,1.0},{23,1.9,2.2},{24,0,5.0},{25,0,6.6},{26,0,5.9},{27,1.2,6.8},{28,3.7,4.2},{29,0,4.6},{30,63.3,4.9},{1,3.7,4.6},{2,0,6.1},{3,0,7.0},{4,0,6.4}};
int i;
float m,p,em;
for(i=1;i<15;i++)
{
m=a[0];
p=a[1];
em=a[2];
}
pe=p-k*em;
if(pe<0) goto CH;
a=mm*pow((1-(1-w/wm)),(1/(1+b)));
if(a+pe<mm)
{
r=pe-wm+w+wm*pow((1-(pe+a)/mm),(1+b));
}
goto DH;
r=pe+w-wm;
float r,rg,rs,rm,eu;
DH: if(pe<fc)
{
rg=r-rm*pe;
rs=r-rg;
}
goto FH;
rg=(r-rm*pe)/pe*fc;
rs=r-rg;
float d,l;
FH: eu=k*em;
d=0;
l=0;
if(wu+pe-r<um);
goto BH;
if(wu+wl+pe-r-um>lm)
{
wu=um;
wl=lm;
wd=w+pe-r-wu-wl;
}
goto AH;
wl=wu+wl+pe-r-um;
wu=um;
goto AH;
BH: wu=wu+pe-r;
goto AH;
CH: r=0;
rg=0;
rs=0;
if(wu+pe>0)
{
eu=k*em;
d=0;
l=0;
wu=wu+pe;
}
goto AH;
eu=wu+p;
wu=0;
if(wl>c*lm)
{
l=(k*em-eu)*wl/lm;
wl=wl-l;
d=0;
}
goto AH;
if(wl>c*(k*em-eu))
{
l=c*(k*em-eu);
wl=wl-l;
d=0;
}
goto AH;
l=wl;
wl=0;
d=c*(d*em-eu)-l;
wd=wd-d;
AH: float e;
e=eu+l+d;
w=wu+wl+wd;
qg=qg*cg+rg*(1-cg)*u;
int j;
for(j=1;j<15;j++)
{
a[j][3]=pe;
a[j][4]=r;
a[j][5]=rg;
a[j][6]=rs;
a[j][7]=e;
a[j][8]=w;
a[j][9]=qg;
}
printf("%f\n",&a[15][10]);
}