21xrx.com
2024-11-08 22:31:11 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;

}

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

  
  

评论区

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