卧虎藏龙2武功秘籍坐标:在pasacal中如何编写回文程序?

来源:百度文库 编辑:高考问答 时间:2024/05/06 05:20:38
递归法判断所输入的一行字符是否回文(以“?”结束)。这里所说的回文是指输入的一行字符,
以“-”字符为中心,其两边的字符是左右对称的。例如:
输入:ABCDE-EDCBA?
输出:It is symmetry. {输入一行字符是回文}

Program hui;
var
a,b:array[1..10000]of char;
i,j,k,na,nb:integer;
ch1,ch2:char;
begin
na:=0;nb:=0;
repeat
inc(na);
read(a[na]);
Until a[na]='-';
a[na]:=chr(0);dec(na);
repeat
inc(nb);
read(b[nb]);
until b[nb]='?';
b[nb]:=chr(0);dec(nb);
i:=1;j:=nb;
if na<>nb then writeln('It is not symmetry')
else begin
for k:=1 to na do begin
if a[i]<>b[j] then begin writeln('It is not symmetry');halt;end;
inc(i);dec(j);
end;{for}
writeln('It is symmetry');
end;{if}
end.