c语言中的回文数算法怎么写

avatar
作者
猴君
阅读量:2

在C语言中,判断一个数是否是回文数的常见算法是将该数转换为字符串,然后判断该字符串是否是回文字符串。下面是一个示例代码:

#include <stdio.h> #include <stdlib.h> #include <string.h>  int isPalindrome(int num) {     char str[20];     sprintf(str, "%d", num); // 将整数转换为字符串      int len = strlen(str);     for (int i = 0; i < len/2; i++) {         if (str[i] != str[len-i-1]) {             return 0; // 不是回文数         }     }     return 1; // 是回文数 }  int main() {     int num;     printf("请输入一个整数:");     scanf("%d", &num);      if (isPalindrome(num)) {         printf("%d是回文数\n", num);     } else {         printf("%d不是回文数\n", num);     }      return 0; } 

在上述代码中,通过sprintf函数将输入的整数转换为字符串,然后使用一个循环遍历字符串的前半部分,判断是否与对应的后半部分相等。如果有任何不相等的字符,则该数不是回文数。如果循环结束后没有找到不相等的字符,那么该数就是回文数。

广告一刻

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