判断回文数(c/c++)

回文数判断的两种方法
1——1~10000内的小数字,高位除10取整 /,低位除10取余%,从原数的个位开始,构造原数字的回文数,若二者相等,则yes,反之no
2——大数字直接用字符串数组,从两边比较到中间,设置flag标志,若有一个为false,break退出比较

代码实现:
1——构造新数字

	#include <stdio.h>
	int main(){
//输入一个1~10000的数字
	int a;
	scanf("%d",&a);
	int n,temp;
	temp=a;
	n=0;
	while(temp>0){
		n=n*10+temp%10;
		temp/=10;
	}
	if(n==temp){
	printf("yes");
	}else{
   printf("no");
   }

   return 0
    }

————————————————

2——字符串数组
#include <stdio.h>
#include <string.h>
void detectsimilar(char *a){
	int n=strlen(a);
	int i,flag=1;
	//奇数位和偶数位的处理次数一样
	for(i=0;i<n/2;i++){
	if(a[i]!=a[n-1-i]){
	flag =0;
	break;
	}
	
	if(flag==1){
	printf("yes");
}else{
printf("no");
}
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值