问题 填空题

请补充函数fun(),该函数的功能是判断一个数是否为回文数。当字符串是回文时,函数返回字符申:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:abcba。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<string.h>
#include<stdio.h>
char *fun(char*str)

char *p1,*p2;
int i, t=0;
p1=str;p2=str+strlen(str)-1;
for (i=0; 【1】 ;i++)
if( 【2】 )

t=1;
break;

if ( 【3】 )
return("yes!");
else
return("no!");
main()

char str[50];
printf("Input;");
scanf("%s",str);
printf("%s\n",fun(str));

答案

参考答案:[1] i<=strlen(sb)/2或i<strlen(sw)/2 [2] *p1++!=*p2-- [3] t==20

解析: 填空1:判断回文数就是将第一个字符与最后—个字符比较,第二个字符与倒数第二个字符进行比较,依此类推,直到中间的字符,如果比较的结果都是相同,则这个字符串就是回文数,否则不是。所以比较的次数是strlen(str)/2。填空2:指针p1从第一个字符向后移动,指针p2从最后一个字符向前移动,如果两字符不相同,则说明此字符串不是回文数,将标记变量t置为1。填空3:变量t用来标记此字符串是否为回文数,当t为0时,表示字符串是回文数,当t为1时,表示字符串不是回文数。

填空题
问答题 简答题