编写自定义函数int ispalindrome(char s[]); 检测字符串s是否为回文 如果s为回文,函数返回值为1,否则返回值为0
时间: 2024-02-12 20:03:46 浏览: 38
好的,下面是实现的代码:
```c
int ispalindrome(char s[]) {
int len = strlen(s);
for (int i = 0; i < len / 2; i++) {
if (s[i] != s[len - i - 1]) {
return 0; // 不是回文,返回0
}
}
return 1; // 是回文,返回1
}
```
这个函数的实现很简单,就是遍历字符串的前一半字符,和后一半相对应的字符比较是否相等,如果有不相等的就说明不是回文,否则就是回文。
相关问题
编写自定义函数int ispalindrome(char s[]); 检测字符串s是否为回文 如果s为回文,函数返回值为1,否则返回值为0 提示 用于测试函数的源程序: #include<stdio.h> int main() { char s[100]; gets(s); if ( ispalindrome(s) ) printf("yes"); else printf("no"); }
以下是实现字符串回文判断的函数:
```c
#include <stdio.h>
#include <string.h>
int ispalindrome(char s[]) {
int len = strlen(s);
for (int i = 0; i < len / 2; i++) {
if (s[i] != s[len - 1 - i]) {
return 0;
}
}
return 1;
}
int main() {
char s[100];
gets(s);
if (ispalindrome(s)) {
printf("yes");
} else {
printf("no");
}
return 0;
}
```
该函数首先计算字符串的长度,然后遍历字符串的前一半,逐个比较前半部分和后半部分是否相等。如果不相等,说明不是回文字符串,返回0;否则遍历完整个字符串,说明是回文字符串,返回1。在主函数中,从标准输入读取字符串,调用ispalindrome函数判断是否为回文字符串,并输出结果。
用C语言编写函数,判断一个字符串是否为回文,如是返回1,否则返回-1.
以下是用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 <= j; i++, j--) {
if (str[i] != str[j]) {
return -1;
}
}
return 1;
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
if (isPalindrome(str) == 1) {
printf("%s is a palindrome.\n", str);
}
else {
printf("%s is not a palindrome.\n", str);
}
return 0;
}
```
在这个函数中,我们首先使用`strlen()`函数获取字符串的长度。然后使用两个指针`i`和`j`来遍历字符串,`i`从头开始遍历,`j`从尾开始遍历,每次迭代都会比较字符`str[i]`和`str[j]`,如果它们不相等,则返回-1,表示该字符串不是回文。最后,如果成功遍历了整个字符串,就返回1,表示该字符串是回文。