瑞星卡卡安全论坛技术交流区系统软件 【求助】天啊,怎么会有一个错误~!~!~!~!

1   1  /  1  页   跳转

【求助】天啊,怎么会有一个错误~!~!~!~!

【求助】天啊,怎么会有一个错误~!~!~!~!

#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]);


}


天啊,这个程序怎么会有一个错误,就是调试不过哦,好奇怪啊~!~!~!
    哪位大虾帮俺看看嘛~!~!~!~!
  为什么会有错误,应该怎么改啊~!~!~!~!
    太奇怪啦哟~!~!~!~!~!
HELP    HELP ~!~!~!~!
最后编辑2007-04-18 11:17:55.340000000
分享到:
gototop
 

Deleting intermediate files and output files for project '新安江 - Win32 Debug'.
--------------------Configuration: 新安江 - Win32 Debug--------------------
Compiling...
新安江.c
c:\documents and settings\administrator\新安江.c(7) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(8) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(9) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(10) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(11) : error C2065: 'i' : undeclared identifier
c:\documents and settings\administrator\新安江.c(12) : error C2065: 'm' : undeclared identifier
c:\documents and settings\administrator\新安江.c(12) : error C2065: 'a' : undeclared identifier
c:\documents and settings\administrator\新安江.c(12) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(12) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(13) : error C2065: 'p' : undeclared identifier
c:\documents and settings\administrator\新安江.c(13) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(13) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(14) : error C2065: 'em' : undeclared identifier
c:\documents and settings\administrator\新安江.c(14) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(14) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(16) : error C2065: 'pe' : undeclared identifier
c:\documents and settings\administrator\新安江.c(16) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(18) : error C2065: 'mm' : undeclared identifier
c:\documents and settings\administrator\新安江.c(18) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(20) : error C2065: 'r' : undeclared identifier
c:\documents and settings\administrator\新安江.c(20) : error C2198: 'pow' : too few actual parameters
c:\documents and settings\administrator\新安江.c(20) : warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(20) : error C2059: syntax error : ')'
c:\documents and settings\administrator\新安江.c(21) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(22) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(24) : error C2065: 'rg' : undeclared identifier
c:\documents and settings\administrator\新安江.c(24) : error C2065: 'rm' : undeclared identifier
c:\documents and settings\administrator\新安江.c(25) : error C2065: 'rs' : undeclared identifier
c:\documents and settings\administrator\新安江.c(26) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(28) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(29) : error C2065: 'eu' : undeclared identifier
c:\documents and settings\administrator\新安江.c(29) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(29) : error C2065: 'd' : undeclared identifier
c:\documents and settings\administrator\新安江.c(29) : error C2065: 'l' : undeclared identifier
c:\documents and settings\administrator\新安江.c(37) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(38) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(40) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(42) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(43) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(43) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(44) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(45) : error C2065: 'e' : undeclared identifier
c:\documents and settings\administrator\新安江.c(47) : error C2143: syntax error : missing ';' before 'type'
c:\documents and settings\administrator\新安江.c(48) : error C2065: 'j' : undeclared identifier
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(49) : warning C4244: '=' : conversion from 'float ' to 'int ', possible loss of data
c:\documents and settings\administrator\新安江.c(49) : error C2106: '=' : left operand must be l-value
c:\documents and settings\administrator\新安江.c(50) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(50) : error C2109: subscript requires array or pointer type
c:\documents and settings\administrator\新安江.c(50) : error C2102: '&' requires l-value
执行 cl.exe 时出错.

新安江.exe - 1 error(s), 0 warning(s)
gototop
 

错误C2143: 句法错误: 错过的';' 在'type' 之前;
....
错误C2065: 'i' : 未申报的标识符
....
警告的C4244: '=' : 转换从'float ' 对'int ', 数据可能的损失
....
....还有下标 很多啊!
gototop
 

哪位人人能帮俺修改修改么,~!~!~!
  天啊~!~!~!~!
gototop
 

看得我头都晕了,你提供的源程序整理后如下,太多错误和警告,待研究后再说:

#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]);
}
gototop
 

被你打败了,昨晚仔细看了看这程序,郁闷透了。
你的二维A数组,到底是a[15][10],还是a[15][3]啊?好混乱,另外,有几个变量没有定义,而且,你调用循环语句使用二维数组元素的时候,不能只使用一个下标啊,一个下标的那是数组名啊,不能直接调用的……晕了,太混乱,不知道这程序干嘛的。另外还有个变量r,程序中计算了,但是根本就没有用。
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT