21xrx.com
2025-03-21 18:32:34 Friday
文章检索 我的文章 写文章
如何判断一个整数是否为回文数,在c++中从键盘输入?
2023-07-05 12:17:53 深夜i     --     --
判断 整数 回文数 C++ 键盘输入

在数学中,回文数是指正着读和倒着读都相同的整数,如121、1221等。那么如何在c++中从键盘输入一个整数并判断它是否为回文数呢?下面给出一种简单的方法:

1. 从键盘输入一个整数num;

2. 将num转成字符串str,方便逐个比较每个数字;

3. 使用两个指针i和j分别指向str的开头和末尾,比较str[i]和str[j]是否相等,如果不相等则说明num不是回文数,结束程序;如果相等则i++,j--,继续比较下一个数字,直到i>=j,说明已经比较完整个数字,num是回文数。

具体实现代码如下:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  int num;
  cout << "请输入一个整数:";
  cin >> num;
  string str = to_string(num);
  int i = 0, j = str.length() - 1;
  while (i < j)
  {
    if (str[i++] != str[j--])
    
      cout << num << "不是回文数!" << endl;
      return 0;
    
  }
  cout << num << "是回文数!" << endl;
  return 0;
}

当然,上述代码还可以进一步优化,比如可以考虑将输入和判断分别封装成函数,增加代码的可读性和复用性。不过,以上代码已经符合题目的要求,实现了从键盘输入一个整数并判断是否为回文数。

  
  

评论区