设计算法判断一个数是不是回文数

设计算法判断一个正的n(n>2)位数是不是回文数,用自然语言描述算法步骤

var
s:string;
i:integer;

begin
readln(s);{记录该数}
for i:=1 to length(s) div 2 do (回文数两两对应,所以只要搜索一半)
if s[i]=s[length(s)+1-i] then continue {如果是,就让它继续搜下去}
else begin dec(i); break; end;{如果不是,就将指针i指向前面,并且跳出循环}
if i=length(s) then writeln("yes")
else writeln("no");{表明搜索完毕没有受到阻力,所以是回文数}
end.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-30
//===
#include <iostream>
#include <cstdio>
using namespace std;
//---
int huiwen(char a[81])
{
int i;
for(i=0;i<strlen(a);i++)
{
if(a[i]!=a[strlen(a)-1-i])
break;
}
if(i>=strlen(a))
return 1;
else
return 0;
}
//---
void main()
{
char a[81];
cout<<"输入字符串:";
cin>>a;
if(huiwen(a))
cout<<"是回文";
else
cout<<"不是回文";
}
//===
第2个回答  2013-11-30
将你输入的数通过取余和除将各位数分离出来,保存在A,B,C,D,E等定义好的整形数中。
再从后面将数分别乘以10,100,1000,10000等,再判断重新组合后的数与原数是不是相等。
若是,则是回文。
第3个回答  2013-11-30
一个N位数
倒数第i个和正数第i个比较(0< i <=N/2 N是偶数;0< i <N/2 N是奇数。)都相等就是回文啰!
相似回答