• //判断一个数是否为回文数。
  • //设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。
  • //例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数
#include <stdio.h>
 
int main()
{
    int n, x, y;
    int r=0;
 
    printf("输入一个整数: ");
    scanf("%d", &n);   //123 
 
    
 y = n;
    // 翻转
    while( n!=0 )
    {
      x = n%10;   //321  
        r = r*10 + x; 	//取倒数,利用追加的方式    // 321
       n=n/10;  //相除   123/10=12  12/10=1  1/10=0 退出循环 
//       printf("%d",n);  
    }
  
    // 判断
    if (y == r)
        printf("%d 是回文数。", y);
    else
        printf("%d 不是回文数。", y);
    
    return 0;
}

字符串判断回文

#include <stdio.h>
#include<string.h>

int main()
{
    int a=12021;
    char s[10]={'\0'},s1[10]={'\0'};
    sprintf(s,"%d",a); // 将整数转换为字符串
    int n=strlen(s);
    int j=0;
    for(int i=n-1;i>=0;i--)
    {
        s1[j++]=s[i];
    }
    //s[j]='\0';
    printf("%s %s\n",s,s1);
    if(!strcmp(s,s1))
        printf("整数%d是回文串",a);
    else
        printf("整数%d不是回文串",a);
    return 0;
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐