c语言怎么判断是否为回文数

avatar
作者
猴君
阅读量:0

判断一个数是否为回文数,可以通过将该数转化为字符串,然后比较字符串的前半部分和后半部分是否相同来实现。

具体步骤如下:

  1. 定义一个整型变量 num 存储待判断的数。
  2. 将 num 转化为字符串 str。
  3. 定义两个整型变量 start 和 end 分别指向字符串的开头和结尾。
  4. 使用一个循环,判断 start 小于等于 end。
    • 如果 str[start] 不等于 str[end],则该数不是回文数,返回 false。
    • 否则,将 start 加1,end 减1,继续循环。
  5. 循环结束后,说明该数是回文数,返回 true。

以下是一个示例代码:

#include <stdio.h> #include <stdbool.h> #include <string.h>  bool isPalindrome(int num) {     char str[20];     sprintf(str, "%d", num);     int start = 0;     int end = strlen(str) - 1;     while (start <= end) {         if (str[start] != str[end]) {             return false;         }         start++;         end--;     }     return true; }  int main() {     int num;     printf("请输入一个整数:");     scanf("%d", &num);     if (isPalindrome(num)) {         printf("%d是回文数\n", num);     } else {         printf("%d不是回文数\n", num);     }     return 0; } 

注意,上述代码中使用了 sprintf 函数将整数转换为字符串,需要包含头文件 string.h。另外,该示例中只能判断正整数是否为回文数,对于负数和含有0的数,需要根据具体需要进行调整。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!