讨论 / 程序中含有不安全字符(或者为NOI不允许使用的语句):net ??
Error 2008-10-20 02:01:00
点我顶贴 收藏 删除
RenQingNet Online Judge 错误提示

程序中含有不安全字符(或者为NOI不允许使用的语句):net

我的程序是这样的:

#include "stdio.h"

#include "string.h"

#define T 0.7071

main()

{

double x=0.0,y=0.0;

double vx=0.0,vy=0.0,ax=0.0,ay=0.0,m;

int n,w,di,i;

int l;

double t[201];

char lbj[201][5];

scanf("%d",&n);

for(i=0;i<n;i++)

{

scanf("%lf",&t[i]);

scanf("%s",lbj[i]);

}

scanf("%d",&w);

i=0;

l=0;

while(t[i]<w)

{

l=strlen(lbj[i]);

switch(lbj[i][l-1])

{

case ’S’: m=0.2;break;

case ’W’: m=2;break;

case ’P’: m=10;break;

}

ax=ay=0;

switch(lbj[i][0])

{

case ’D’: ax=m;break;

case ’A’: ax=-m;break;

case ’W’: ay=m;break;

case ’S’: ay=-m;break;

}

switch(lbj[i][1])

{

case ’.’: break;

case ’D’: ax+=m;ay*=T;ax*=T;break;

case ’A’: ax-=m;ay*=T;ax*=T;break;

case ’W’: ay+=m;ay*=T;ax*=T;break;

case ’S’: ay-=m;ay*=T;ax*=T;break;

}

if(ax!=0)

x+=((vx+ax*(t[i+1]-t[i]))*(vx+ax*(t[i+1]-t[i]))-vx*vx)/2/ax;

else

x+=vx*(t[i+1]-t[i]);

if(ay!=0)

y+=((vy+ay*(t[i+1]-t[i]))*(vy+ay*(t[i+1]-t[i]))-vy*vy)/2/ay;

else

y+=vy*(t[i+1]-t[i]);

vx+=ax*(t[i+1]-t[i]);

vy+=ay*(t[i+1]-t[i]);

i++;

}

l=strlen(lbj[i]);

switch(lbj[i][l-1])

{

case ’S’: m=0.2;break;

case ’W’: m=2;break;

case ’P’: m=10;break;

}

ax=ay=0;

switch(lbj[i][0])

{

case ’D’: ax=m;break;

case ’A’: ax=-m;break;

case ’W’: ay=m;break;

case ’S’: ay=-m;break;

}

switch(lbj[i][1])

{

case ’.’: break;

case ’D’: ax+=m;ay*=T;ax*=T;break;

case ’A’: ax-=m;ay*=T;ax*=T;break;

case ’W’: ay+=m;ay*=T;ax*=T;break;

case ’S’: ay-=m;ay*=T;ax*=T;break;

}

if(ax!=0)

x+=((vx+ax*(w-t[i-1]))*(vx+ax*(w-t[i-1]))-vx*vx)/2/ax;

else

x+=vx*(w-t[i-1]);

if(ay!=0)

y+=((vy+ay*(w-t[i-1]))*(vy+ay*(w-t[i-1]))-vy*vy)/2/ay;

else

y+=vy*(w-t[i-1]);

printf("%.1lf\n%.1lf",x,y);

return 0;

}

怎么回事呢?

查看更多回复
提交回复