当前位置: 首页 > article >正文

C++笔试题之回文数的判断

“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 
设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。 
注意:
1.偶数个的数字也有回文数124421
2.小数没有回文数

方法一:数字

判断输入的数字和镜像后的数字是否相等
 

#include<stdio.h>
int main()
{
    int x, mirror, input;
    while(scanf("%d", &x) != EOF)
    {
        mirror = 0;
        input = x;
        do
        {
            mirror = mirror*10+x%10;
            x /= 10;
        } while(x > 0);
        if(input == mirror)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}

方法二:字符串

回文数关于中心对称,只要比较对称位置的数即可

#include<stdio.h>
#include<string.h>
int main()
{
    int i, length, flag = 1;
    char a[100];
    while(gets(a))
    {
        length = strlen(a);
        for(i=0; i <= length/2; i++)
        {
            if(a[i] != a[length-i-1])
            {
                flag = 0;
                break;
            }
        }
        if(flag == 1)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}

运行结果与方法一相同

原文链接:C++笔试题之回文数的判断-CSDN博客


http://www.kler.cn/a/159657.html

相关文章:

  • 【问卷调研】HarmonyOS SDK开发者社区用户需求有奖调研
  • FlinkPipelineComposer 详解
  • 计算机网络 (1)互联网的组成
  • 探索Python的HTTP利器:Requests库的神秘面纱
  • 1111111111待修改--大流量分析(三)-BUUCTF
  • Linux git-bash配置
  • 【Redis6快速深入学习04】Redis字符串(String)的使用和原理
  • 【分布式微服务专题】从单体到分布式(一、SpringCloud项目初步升级)
  • FAQ:Reference篇
  • Android各版本引入的重要安全机制介绍
  • nodeJS爬虫-爬取虎嗅新闻
  • vos3000怎样设置落地的优先级
  • HXDSP2441-I2C(Inter-Integrated Circuit)
  • 麒麟系统图形化应用自启
  • 【微信小程序开发】学习小程序的模块化开发(自定义组件和分包加载)
  • MinIo 的操作与使用和避坑
  • Mysql行格式(记录格式)详解
  • Leetcode—2477.到达首都的最少油耗【中等】
  • 《PFL》论文阅读笔记
  • Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
  • 基本数据类型与引用数据类型的区别(java基础)
  • 【软件测试】技术精选:Jmeter常见的几种报错
  • 云HIS:新一代云架构医院信息管理系统源码(java语言)
  • Flink流批一体计算(24):Flink SQL之mysql维表实时关联
  • 2、RocketMQ源码分析(二)
  • 前端并发多个请求并失败重发