/*请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主 函数中输出“YES”,否则返回0,主函数中输出“NO "。 回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串 123312就不是回文。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 试题程序:*/ #include <stdio. h> #define N 80 int fun(char str[])
时间: 2024-03-15 14:43:18 浏览: 27
/*请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主 函数中输出“YES”,否则返回0,主函数中输出“NO "。 回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串 123312就不是回文。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 试题程序:*/
#include <stdio.h>
#define N 80
int fun(char str[]) {
int i = 0;
int j = strlen(str) - 1;
while (i < j) {
if (str[i] != str[j]) {
return 0;
}
i++;
j--;
}
return 1;
}
int main() {
char s[N], *p;
gets(s);
p = s;
if (fun(p)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
相关问题
请编写函数fun,该函数的功能是:判断字符串是否是回文。
好的,我来为您编写该函数:
```python
def fun(s):
"""
判断字符串是否是回文
:param s: 待判断的字符串
:return: True 或 False
"""
return s == s[::-1]
```
这个函数接受一个字符串作为参数,然后判断它是否是回文字符串,如果是,返回 True,否则返回 False。其中,`s[::-1]` 表示将字符串反转,如果反转后的字符串与原字符串相等,说明它是回文字符串。
请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。 fun函数原型:int fun(char *str);完整代码
完整代码如下:
```c
#include <stdio.h>
#include <string.h>
int fun(char *str);
int main()
{
char str[100];
scanf("%s", str);
if (fun(str)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
int fun(char *str)
{
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
```
在 `main` 函数中,首先读入一个字符串 `str`,然后调用 `fun` 函数来判断该字符串是否为回文,如果是,则输出 "YES",否则输出 "NO"。
在 `fun` 函数中,首先计算字符串的长度,然后从字符串的两端开始比较,如果有任何一个字符不相同,就说明该字符串不是回文,返回 0;如果整个字符串都被比较完了,都没有发现不同的字符,就说明该字符串是回文,返回 1。