我必須寫在帕斯卡爾的程序,檢查一個詞是否是一個迴文。檢查是否字迴文與功能
例如:
如果I輸入 「ABBA」 然後寫 'TRUE'
輸入 'ABB一個' 然後寫 'TRUE'
輸入 'ABCA' 寫 'FALSE'
我寫了這個:
program palindromek;
var i,j,delka,pul:integer;
str:string;
function palindrom(slovo:string):boolean;
const mezera=32;
begin
delka:=length(str);
if (delka mod 2) = 0 then pul:=delka div 2
else pul:=(delka-1) div 2;
for i:=1 to delka do
begin
if (ord(slovo[i])>=ord('a')) and (ord(slovo[i])<=ord('z')) then
begin
if (delka>=4)and(delka<=100) then
begin
if (length(str) mod 2) = 0 then {slovo se sudym poctem pismen}
begin
for j:=1 to pul do
begin
if slovo[j]=slovo[length(str)-j+1]
then palindrom:=true else palindrom:=false
end
end else
begin
for j:=1 to pul do
begin
if slovo[j]=slovo[length(str)-j+1]
then palindrom:=true else palindrom:=false
end
end
end else if slovo[1]=slovo[delka]
then palindrom:=true else palindrom:=false
end
end;
end;
begin
readln(str);
writeln(palindrom(str));
end.
但它必須忽略空格。你有什麼想法嗎?
去掉所有的空格,則開始循環之前。 –
對不起,我看不懂你的語言,所以我不會讀你的代碼。在開始比較字符之前,只刪除所有空格並轉換爲全部大寫字母。 –
我知道我必須去掉空格,但我不知道該怎麼做:) – MatFyzak