pascal求回文!!

[复制链接]
查看11 | 回复4 | 2009-5-15 17:03:32 | 显示全部楼层 |阅读模式
输入一串字符,其长度小于200。判断该串字符是否构成回文。所谓回文是指从左到右和从右到左读一串字符的值是一样的。如 abcba 就是一个回文。
输入部分:
多组数据,每组一行,是一个字符串s(s的长度小于200)。
输出部分:
对应每组输入,有一行输出,如果是回文,则输出‘Yes’,否则输出‘No’。
输入样例:
abcba
abc
输出样例:
Yes
No
我实在是做不出来了,好心人帮帮忙,我满意的一定加分!

回复

使用道具 举报

千问 | 2009-5-15 17:03:32 | 显示全部楼层
你学过函数和"exit"吗?简单的话可以这样写varst:string;function hw(st:string):boolean;vari:integer;beginfor i:=1 to length(st)div 2 do
if stst[length(st)-i+1] then exit(false)
else exit(true);hw:=true;end;beginreadln(st);if hw(st) then writeln('Yes') else writeln('No');end.如果没有学过的话,如下:progra...
回复

使用道具 举报

千问 | 2009-5-15 17:03:32 | 显示全部楼层
program sdj; var s:string;
i,j:integer;
b:boolean;beginreadln(s);b:=true;j:=length(s);for i:=1 to j doif ss[j+1-i] then b:=false;if b then writeln(...
回复

使用道具 举报

千问 | 2009-5-15 17:03:32 | 显示全部楼层
ls的程序怎么输入什么都输出yes...从你的题目看应该是文件输入输出吧,我的思路是这样的,一行一行循环读入字符串的值,暂时存在变量b内,然后通过字符串处理,将每个字符逆序存到c中,如果c=b,那这就是一个回文,输出yes,否则输出no,处理完第一组的b值再读入下一个值,直到读入的b的值为空为止program huiwen;var a:array...
回复

使用道具 举报

千问 | 2009-5-15 17:03:32 | 显示全部楼层
我试试看 var s:string;l:integer;i:integer; begin read(s); l:=length(s);i:=0; repeat i:=i+1; until (s=s[i+1-l])or(i>(l div 2)); if i>(l div 2) then write('Yes') else ...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行