讨论 / 求救~~大牛们看看哪里错了??第7、10个点不过
ttdd8 2008-10-23 08:17:00
点我顶贴 收藏 删除
这是我的程序:

program ttdd8;

var s:array[1..200] of string;

code,n,i,sum:integer;

s0,ss:string;

f:array[1..200] of boolean;

begin

readln(n);

for i:=1 to n do

readln(s[i]);

i:=1;

fillchar(f,sizeof(f),false);

repeat

if f[i] then begin write(’0’); halt; end

else f[i]:=true;

ss:=copy(s[i],1,4);

if ss=’jmp ’ then

begin

s0:=copy(s[i],5,length(s[i])-4);

val(s0,i,code);

inc(sum);

end

else begin inc(i); inc(sum); end;

until i=n;

write(sum+1);

end.

第7个点我输出200,

第10个点输出20,

但正确结果都是0;

叫了好几遍了,大牛们瞅瞅~~~~

#1 vinence@2008-08-25 22:07:00
回复 删除
var

i,n,now,add,l:integer;

pd:array[1..500] of boolean;

a:array[1..500] of string;

ls:string;

begin

readln(n);

for i:=1 to n do readln(a[i]);

fillchar(pd,sizeof(pd),true);

now:=1;

while now<=n do

begin

if pd[now] then

begin

ls:=copy(a[now],1,4);

if ls<>’jmp ’ then

begin

pd[now]:=false;

inc(now);

inc(add);

end;

if ls=’jmp ’ then

begin

pd[now]:=false;

inc(add);

l:=length(a[now]);

val(copy(a[now],5,l),now);

end;

end;

if not(pd[now]) then

begin

writeln(0);

halt;

end;

end;

writeln(add);

end.

#2 ghostdd@2008-09-26 05:39:00
回复 删除
对对对!我也出现这种情况!
#3 飞雪天涯@2008-10-23 08:17:00
回复 删除
7,10两组数据都很ws,他们在最后一行加了jmp!
查看更多回复
提交回复