【问题描述】输入一串字符,字符个数不超过100,且以"."结束。 判断它们是否构成回文。
分析:所谓回文指从左到右和从右到左读一串字符的值是一样的,如12321,ABCBA,AA等。先读入要判断的一串字符(放入数组letter中),并记住这串字符的长度,然后首尾字符比较,并不断向中间靠拢,就可以判断出是否为回文。
【参考程序】:
var
letter : array[1..100]of char;
i,j : 0..100;
ch : char;
begin
{读入一个字符串以'.'号结束}
write('Input a string:');
i:=0;
read(ch);
while ch<>'.' do
begin
i:=i+1;letter[i]:=ch;
read(ch);
end;
{判断它是否是回文}
j:=1; while (j<i)and(letter[j]=letter[i])do
begin
i:=i-1;
j:=j+1;
end;
if j>=i then writeln('Yes.')
else writeln('No.');
end.