您的位置:首页 > 编程语言

编程菜鸟的日记-初学尝试编程-回文数的判断

2013-10-23 12:50 218 查看
//如3,121,313,34443,12121都是回文数

#include <iostream>

using namespace std;

int judge(int m)

{//首先将输入的整数m按每位进行存储

//假设m=12121,则定义数组a[5]={1,2,1,2,1}

int temp,a[10];

int i,t;//i存储为m的位数,t为每位上的具体数字

temp=m;

while(temp!=0)

{

t=temp%10;

a[i]=t;

temp=temp/10;

i++;

}

int *p=a;

int *q=a+i-1;

while(p<q)

{

if(*p!=*q)

break;

else

{

p++;

q--;

}

}

if(p<q)

{

cout<<"不是"<<endl;

}

else

{

cout<<"是"<<endl;

}

cout<<m<<endl;

}

int main()

{

int m;

cout<<"请输入整数m";

cin>>m;

Judge(m);

system("pause");

return 0;

}

总结:1)如何将整数m的每位存储在数组中

2)设置两个指针,一个指向数组首元素,另一个指向数组有效长度的末位(注意:并不是数组的末位)

3)首位指针逐渐递增,末位指针逐渐递减,直到首位不小于末位地址。

发散:如果是字符串,如何判断?

如果是字符串abcdefbdcba,如何返回回文字符串最大长度以及回文字符串"abcd"?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐