判断一个五位数是不是回文数

例如;12321是回文数,个位与万位相同,十位与千位相同。例如;12321是回文数,个位与万位相同,十位与千位相同。

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    string s;
    cin >> s;
    string s2 = s;
    reverse(s2.begin(),s2.end());
    if (s == s2)
        cout << "是";
    else
        cout << "不是";
    return 0;
}

【以下回答由 GPT 生成】

解决方案

判断一个五位数是否为回文数的方法是将该数的每一位数字拆分出来,然后从左右两边比较是否相同。我们可以使用以下步骤来实现:

  1. 将五位数的每一位数字拆分出来。我们可以使用除法和取模操作来获得每一位数的值。
  2. 将拆分出来的数字保存在一个数组中,方便后续比较。
  3. 创建两个变量,一个指向数组的最左边的元素,另一个指向数组的最右边的元素。
  4. 使用一个循环来比较左右两个变量指向的元素是否相同,如果有不相同的,则该数不是回文数。
  5. 如果循环结束后,左右两个变量指向的元素都相同,则该数是回文数。

以下是使用C++实现上述步骤的示例代码:

#include <iostream>

bool isPalindrome(int num) {
    int digits[5]; // 用来保存拆分出来的数字
    int i = 0; // 数组的索引
    int temp = num;

    // 将数字拆分出来并保存在数组中
    while (temp > 0) {
        digits[i] = temp % 10;
        temp /= 10;
        i++;
    }

    // 创建两个变量指向数组的首尾元素
    int left = 0;
    int right = i - 1;

    // 使用循环来比较左右两个变量指向的元素是否相同
    while (left < right) {
        if (digits[left] != digits[right]) {
            return false;
        }
        left++;
        right--;
    }

    return true;
}

int main() {
    int num;
    std::cout << "请输入一个五位数:";
    std::cin >> num;

    if (isPalindrome(num)) {
        std::cout << num << " 是回文数" << std::endl;
    } else {
        std::cout << num << " 不是回文数" << std::endl;
    }

    return 0;
}

你可以将上述代码保存为一个名为palindrome.cpp的文件,然后使用C++编译器进行编译和运行。编译和运行成功后,程序会提示你输入一个五位数,并输出是否为回文数的结果。

希望能帮到你!如有更多疑问,请及时提出。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^