21xrx.com
2024-12-27 22:34:39 Friday
登录
文章检索 我的文章 写文章
C++实现回文数判断
2023-07-05 12:18:02 深夜i     --     --
C++ 回文数 实现 判断

回文数是指一个数字从左至右和从右至左读都是一样的,例如121、1221、12321都是回文数。在编程中,我们可以使用C++语言来实现回文数的判断。本文将为你介绍如何使用C++语言来实现回文数的判断。

1. 获取用户输入的数字

在开始实现回文数判断之前,我们需要先获取用户输入的数字。可以使用C++中的cin语句来实现。例如:


int num;

cout << "请输入一个数字:";

cin >> num;

2. 将数字转换为字符串

接下来,我们需要将用户输入的数字转换为字符串,这样才能进行回文数的判断。可以使用C++中的to_string函数来实现。例如:


string strNum = to_string(num);

3. 判断字符串是否回文

得到字符串之后,我们需要对字符串进行判断,判断其是否为回文数。可以使用双指针法来实现,一个指针从字符串的左侧开始进行遍历,另一个指针从字符串的右侧开始进行遍历,对比它们所指向的字符是否相等。如果都相等,指针分别向字符串的中间移动;如果不相等,则表示该字符串不是回文数。例如:


bool isPalindrome = true;

int left = 0, right = strNum.size() - 1;

while (left <= right) {

  if (strNum[left] != strNum[right])

    isPalindrome = false;

    break;

  

  left++;

  right--;

}

4. 输出结果

最后,我们需要输出判断结果。如果字符串是回文数,则输出“是回文数”,否则输出“不是回文数”。例如:


if (isPalindrome)

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

else

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

至此,我们使用C++语言成功实现了回文数的判断。完整的代码如下:


#include <iostream>

#include <string>

using namespace std;

int main() {

  int num;

  cout << "请输入一个数字:";

  cin >> num;

  string strNum = to_string(num);

  bool isPalindrome = true;

  int left = 0, right = strNum.size() - 1;

  while (left <= right) {

    if (strNum[left] != strNum[right])

      isPalindrome = false;

      break;

    

    left++;

    right--;

  }

  if (isPalindrome)

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

   else

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

  

  return 0;

}

  
  

评论区

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