c语言怎么编程判断输入的一串字符是否为回文
时间: 2024-05-11 13:19:05 浏览: 95
判断一个字符串是否为回文有多种方法,其中一种比较简单的方法是将字符串翻转后和原字符串比较,如果相同则为回文。
以下是一个用C语言编写的判断回文的函数示例:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int i, j;
int len = strlen(str);
for(i = 0, j = len - 1; i < len / 2; i++, j--) {
if(str[i] != str[j])
return 0;
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
if(isPalindrome(str))
printf("是回文\n");
else
printf("不是回文\n");
return 0;
}
```
在上述代码中,isPalindrome()函数用于判断一个给定的字符串是否为回文。该函数通过循环遍历字符串的前半部分和后半部分,逐个比较字符是否相同。如果在比较过程中发现不同的字符,则该字符串不是回文,函数返回0。否则,该字符串为回文,函数返回1。
在main()函数中,首先使用gets()函数获取用户输入的字符串,然后调用isPalindrome()函数判断该字符串是否为回文,并输出结果。
需要注意的是,gets()函数存在安全隐患,建议使用fgets()函数代替。另外,在实际开发中,还需要考虑一些特殊情况,比如空字符串、单个字符等,这里没有完全考虑到。
阅读全文