21xrx.com
2024-11-08 22:30:59 Friday
登录
文章检索 我的文章 写文章
C++编程:判断正整数是否是回文数
2023-07-07 22:32:36 深夜i     --     --
C++ 编程 正整数 回文数 判断

回文数是指正着看和倒着看都一样的数,比如121、2332等等。判断一个正整数是否是回文数是计算机常见的应用之一。下面就来介绍一下如何用C++编程实现判断正整数是否是回文数。

首先,我们需要明确回文数的特点。回文数是正着看和倒着看都一样的数,可以用以下公式表示:

a[n] = a[1] * 10 ^ (n-1) + a[2] * 10 ^ (n-2) + … + a[n-1] * 10 + a[n]

其中,a[i]表示数值的第i位(从1开始),n表示数值的总位数。

判断回文数就是要比较数值的每一位是否相同。因此,我们可以借助循环语句,依次比较数值的每一位。C++的语法是:

for(int i = 0;i < n/2;i++)

{

  if(a[i] != a[n-i-1])

    flag = false;

    break;

}

其中,n表示数值的总位数,a[i]表示数值的第i位,flag是一个布尔变量,初始值为true,如果有任何一位不相同,就将flag变为false,并用break语句退出循环。

完整的代码如下:

#include

using namespace std;

int main()

{

  int x,a[50],n = 0;

  bool flag = true;

  cin >> x;

  if(x < 0)

    flag = false;

  else

  {

    while(x != 0)

    {

      a[n++] = x % 10;

      x /= 10;

    }

    for(int i = 0;i < n/2;i++)

    {

      if(a[i] != a[n-i-1])

        flag = false;

        break;

    }

  }

  if(flag)

    cout << "是回文数" << endl;

  else

    cout << "不是回文数" << endl;

  return 0;

}

在上述代码中,我们首先定义了一个整型数组a和一个计数器n。然后,我们通过while语句将输入的x拆分为每一位的数字,并依次存放到数组a中。最后,我们依次判断数组a中的每一位数字是否相同,如果有任何一位不同,就将flag变为false,并用break语句退出循环。最后,根据flag的取值,输出"是回文数"或"不是回文数"。

以上就是用C++编程实现判断正整数是否是回文数的方法。我们可以通过这个方法快速简单地判断一个正整数是否是回文数,并将其应用于实际开发中。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复