请编写函数fun, 函数的功能是: 判断字符串是否为回文?若是, 函数返回1, 主函数中输出: YES, 否则返回0, 主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如, 字符串LEVEL是回文, 而字符串123312就不是回文。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
给定源程序:
#include
#define N 80
int fun(char *str)
{
}
main()
{ char s[N] ;
printf("Enter a string: ") ; gets(s) ;
printf("\n\n") ; puts(s) ;
if(fun(s)) printf(" YES\n") ;
else printf(" NO\n") ;
NONO() ;
}
解题思路:
本题是考察如何判断一个字符串是回文字符串,回文是指顺读和倒读都一样的字符串。可以利用for循环语句来判断,如果前后不一致,则不是回文字符串。
参考答案:
int fun(char *str)
{
int i, j = strlen(str) ;
for(i = 0 ; i < j / 2 ; i++)
if(str[i] != str[j - i - 1]) return 0 ;
return 1 ;
}
main()
{ char s[N] ;
printf("Enter a string: ") ; gets(s) ;
printf("\n\n") ; puts(s) ;
if(fun(s)) printf(" YES\n") ;
else printf(" NO\n") ;
NO NO() ;
}
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |