判读输入的字符串是否是回文,有输入提示。 比如 输入 abcd1dcba,则输出 abcd1dcba是回文 输入 ab,则输出 ab不是回文 要求:(1)用一个函数来判读输入的字符串是否是回文; (2)在main函数中输出结果。 C语言初学者
时间: 2024-12-22 09:28:54 浏览: 14
js判断输入是否为正整数、浮点数等数字的函数代码
在C语言中,判断一个字符串是否为回文可以创建一个名为`isPalindrome`的函数。这个函数接受一个字符串作为输入,通过比较字符串的第一个字符和最后一个字符,然后逐渐向中间移动并检查对应位置的字符是否相等。如果整个过程都满足条件,则该字符串是回文。
下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,用于检查字符串是否是回文
int isPalindrome(char str[], int start, int end);
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 使用fgets获取用户输入,包括换行符
// 移除输入末尾的换行符
input[strcspn(input, "\n")] = '\0';
if (isPalindrome(input, 0, strlen(input) - 1)) {
printf("%s是回文\n", input);
} else {
printf("%s不是回文\n", input);
}
return 0;
}
// 回文检测函数实现
int isPalindrome(char str[], int start, int end) {
while (start < end) { // 当起始和结束指针未相遇时
if (str[start] != str[end]) { // 如果当前位置的字符不匹配
return 0; // 直接返回false(不是回文)
}
start++; // 向前移动开始指针
end--; // 后移结束指针
}
return 1; // 所有字符匹配,返回true(是回文)
}
```
在这个程序中,`isPalindrome`函数会递归地检查字符串首尾字符,直到两个指针相遇。如果在检查过程中发现不匹配的字符,就立即返回0表示不是回文,否则在遍历完整个字符串后返回1。
阅读全文