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

【C语言】判断一个数是否为回文数

2015-04-03 14:54 316 查看
//判断一个数是否为回文数
#include <stdio.h>
#include <assert.h>

int panduan(int *p)
{
<span style="white-space:pre">	</span>int t = 0;
<span style="white-space:pre">	</span>int n = *p;
<span style="white-space:pre">	</span>assert( *p != NULL );
<span style="white-space:pre">	</span>//每次取出最后一个数乘10加到前边去
<span style="white-space:pre">	</span>while( *p != NULL )
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>t = t * 10 + *p % 10;
<span style="white-space:pre">		</span>*p = *p / 10;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>//  是回文数就会相等
<span style="white-space:pre">	</span>if( t==n )
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>return 1;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>else
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>return 0;
<span style="white-space:pre">	</span>}
}
int main()
{
<span style="white-space:pre">	</span>int a;
<span style="white-space:pre">	</span>printf("请输入一个整数:\n");
<span style="white-space:pre">	</span>scanf("%d",&a);
<span style="white-space:pre">	</span>if( panduan(&a) )
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>printf("yes\n");
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>else
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>printf("no\n");
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>return 0;
}
/*
#include <stdio.h>
int fun(int x)
{
int i,j=0;
int a[10];
for(i=0;x!=0;i++)  //把整形转到数组中
{
a[i]=x%10;
x=x/10;
j++;
}

for(i=0;i<j;i++)  //输出看转的是否正确
{
printf("%d ",a[i]);
}
for(i=0;i<j;i++)  //数组首位循环计较
{
if(a[i]==a[j-1])
{
j--;
}
else
return -1;
}

return 1;
}
int main()
{
int m=123454321;
printf("\n%d\n",fun(m));
return 0;
}
*/



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐