USACO中1.2第三题谁会?PASCAL

来源:百度知道 编辑:UC知道 时间:2024/09/24 23:47:24
这是我的程序,大家看看哪里错了?
program namenum;
const inf='dict.txt';
var {f1,f2,f3:text; }
t:char;
s,PdData:array[1..99]of integer;
i1,i,lens,sy,xx,xxx,X,n,yy:integer;
tt:array[1..99]of char;
begin
n:=0; sy:=0;
assign(input,'namenum.in'); reset(input);
readln(X);
while X<>0 do
begin
inc(n); s[n]:=X mod 10; X:=X div 10;
end;
close(input);
assign(input,inf); reset(input);
assign(output,'namenum.out'); rewrite(output);
for xxx:=1 to 100000 do
begin
while (not eoln) do
begin
inc(xx);
read(t);
tt[xx]:=t;
end;
readln;
for i:=1 to xx do
begin
if tt[i]='A' then PdData[i]:=2;
if tt[i]='B' then PdData[i]:=2;
if tt[i]='C' then PdData[i]:=2;
if tt[i]='D' then PdData[i]:=3;
if tt[i]='E' the

{
ID:
PROG: namenum
LANG: PASCAL
}
Program namenum;
var
s1,s2,s3:string;
h:boolean;
i:integer;
dic:text;

function Tn(S:string):string;
var t:byte;
begin
t:=ord(s[1]);
if t > 81 then dec(t);
t:=(t-65) div 3 + 2;
str(t,tn);
end;

begin
assign(dic,'dict.txt');reset(dic);
assign(input,'namenum.in');reset(input);
assign(output,'namenum.out');rewrite(output);
readln(input,s1);
h:=true;
while not eof(dic) do begin
readln(dic,s2);
s3:='';
for i := 1 to length(s2) do
s3:=s3+tn(s2[i]);
if s3=s1 then begin
writeln(s2);
h:=false;
end;
end;
if h then writeln('NONE');
close(input);close(output);close(dic);
end.

TASK: namenum
LANG: PASCAL

Compiling...
Compile: