c语言编程实现,要求输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读是相同字符串。如:“1221”或“12321”
时间: 2024-11-27 17:10:35 浏览: 17
在C语言中,你可以通过比较字符串的首尾字符并逐个向前移动,直到中间位置,来判断一个字符串是否为回文。这里是一个简单的程序示例:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; ++i) {
if (str[i] != str[len - 1 - i]) {
return 0; // 如果发现不相等的字符,则不是回文
}
}
return 1; // 所有字符都匹配,所以是回文
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 读入字符串,包括换行符
input[strcspn(input, "\n")] = '\0'; // 清除换行符
if (isPalindrome(input)) {
printf("%s 是回文字符串。\n", input);
} else {
printf("%s 不是回文字符串。\n", input);
}
return 0;
}
```
在这个程序中,`isPalindrome`函数接收一个字符串作为参数,然后检查每个字符与其对应的反向字符是否相等。如果所有字符都匹配,函数返回1表示是回文;如果不匹配,返回0。
阅读全文