pascal判断是否构成回文怎么写? (求详解)
发布网友
发布时间:2023-09-18 05:47
我来回答
共2个回答
热心网友
时间:2023-09-22 00:11
你好!下面是较详细的解法:
所谓回文,通俗地讲就是正过来反过去都一个样,那么假设待判断的数据长度为n,我们就逐一判断第一个和第n个、第二个和第n-1个、第三个和第n-2个……这些是否一样即可。下面这则程序运用了字符串思想:
program lx;
var
x:string;
i,j:integer;
begin
readln(x); //读入数据
for i:=1 to length(x) div 2 do //求出该数据长度的一半。
if x[i]<>x[length(x)-i+1] then //length(x)就是前面所说的n。
begin
writeln('Bu gou cheng'); exit; //如果对称的两位不相等,说明他们构不成回文,于是输出不构成,并立即结束程序。
end;
writeln('Gou cheng'); //构成的话,就输出构成。
end.
谢谢。祝你好运!
热心网友
时间:2023-09-22 00:11
function pan:boolean;
var i:longint;
b:arr;
begin
for i:=1 to a[0] do
b[i]:=a[a[0]-i+1];
for i:=1 to a[0] do
if a[i]<>b[i] then exit(false);
exit(true);
end;
a数组是你要判断的一个一串。b数组就把a数组倒过来,然后要是回文的话,A,B数组就相等。就这样判断。