我用pascal写的回文程序给了我随机的答案。。检查我的代码 programmideone; 变量 s:字符串; t、 len,i,j,count:整数; 开始 readln(t); 当t>0时 开始 读(s); len:=字节(s[0]); i:=0;

我用pascal写的回文程序给了我随机的答案。。检查我的代码 programmideone; 变量 s:字符串; t、 len,i,j,count:整数; 开始 readln(t); 当t>0时 开始 读(s); len:=字节(s[0]); i:=0; ,pascal,palindrome,Pascal,Palindrome,我用pascal写的回文程序给了我随机的答案。。检查我的代码 programmideone; 变量 s:字符串; t、 len,i,j,count:整数; 开始 readln(t); 当t>0时 开始 读(s); len:=字节(s[0]); i:=0; j:=len-1; 计数:=0; 而i1呢 开始 书面形式(“否”); 打破 终止 终止 i:=i+1; j:=j-1; 终止 如果您清楚地知道count,s[0]是长度字节。您也不能将其用作访问字符的下限(s[i]当i=0时)。Thanx表示

我用pascal写的回文程序给了我随机的答案。。检查我的代码
programmideone;
变量
s:字符串;
t、 len,i,j,count:整数;
开始
readln(t);
当t>0时
开始
读(s);
len:=字节(s[0]);
i:=0;
j:=len-1;
计数:=0;
而i1呢
开始
书面形式(“否”);
打破
终止
终止
i:=i+1;
j:=j-1;
终止

如果您清楚地知道count,
s[0]
是长度字节。您也不能将其用作访问字符的下限(
s[i]
i=0
时)。Thanx表示顺便说一句,我正在学习帕斯卡语。。。你能推荐什么书或网站吗?这对我真的很有帮助。同样,最高的字符是
s[len]
,其中
len
是字符串的长度。对于初学者来说,有很多选择。只需谷歌“帕斯卡教程”和挖掘。但是在代码中,当您从写入
len=byte(s[0])
(写得更好,
len=length(s)
,循环计数器设置,
i:=0;j:=len-1;
)时,您似乎从Pascal模式切换到了C模式。
program ideone;
var 
    s : string;
    t,len,i,j,count : integer;
begin
    readln(t);

    while t>0 do
    begin
        read(s);

        len := byte(s[0]);

        i :=0;
        j :=len-1;
        count :=0;

        while i<j do
        begin

            if s[i]<>s[j] then
            begin
                count :=count+1;
                    if count>1 then
                    begin
                        writeln('no');
                        break;
                    end;
            end;

            i :=i+1;
            j :=j-1;
        end;

        if count<2 then
            writeln('yes');

        t := t-1;
    end;

end.