在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函数将输入的整数转换为字符串,然后使用一个循环遍历字符串的前半部分,判断是否与对应的后半部分相等。如果有任何不相等的字符,则该数不是回文数。如果循环结束后没有找到不相等的字符,那么该数就是回文数。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/846191.html