📜  C程序检查数字是否为回文(1)

📅  最后修改于: 2023-12-03 15:14:26.463000             🧑  作者: Mango

C程序检查数字是否为回文

回文是一个正读和反读都相同的字符串,类似于"level"和"bob"。在这个程序中,我们将编写一个C程序来检查一个输入的数字是否是回文。

程序思路
  1. 接收用户输入的数字作为字符串。
  2. 使用两个指针,一个从字符串的开头开始,一个从末尾开始。逐一比较两个指针指向的字符。
  3. 如果指针所指向的字符不相等,则说明数字不是回文。
  4. 如果比较到两个指针相遇,或者指针相遇时,剩余的字符个数是奇数,则说明数字是回文。
示例代码
#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool isPalindrome(const char* str) {
    int len = strlen(str);
    int i = 0, j = len - 1;

    while (i < j) {
        if (str[i] != str[j]) {
            return false;
        }
        i++;
        j--;
    }

    return true;
}

int main() {
    char str[100];

    printf("请输入一个数字: ");
    scanf("%s", str);

    if (isPalindrome(str)) {
        printf("该数字是回文。\n");
    } else {
        printf("该数字不是回文。\n");
    }

    return 0;
}

请注意,以上代码仅用于演示目的,如果需用于实际项目中,请注意输入的边界情况处理和错误检查。

使用方法
  1. 将以上代码保存为palindrome.c文件。
  2. 打开终端并导航到保存文件的目录。
  3. 使用C编译器编译代码,例如gcc palindrome.c -o palindrome
  4. 运行生成的可执行文件,即可输入数字并检查是否为回文。

例如,输入数字"12321",程序将输出"该数字是回文。"。