以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串“yes!”,否则函数返回字符串“no!”,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adsda。请填空。 #include <stdio, h>

admin2009-01-15  19

问题 以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串“yes!”,否则函数返回字符串“no!”,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adsda。请填空。
#include <stdio, h>
#include <string, h>
char * huiwen(char * str)
{   char *p1, * p2; int i,t=0;
    p1 = str;p2 =【  】;
    for(i =0;i<= strlen(str)/2;i ++ )
           if( * pl ++ !  = * p2 -- ) { t = 1 ;break
    if(【  】) return( "yes !" );
    else return( "no!" );
}
main( ) {  char str[50];
    printf( "Iaput:" ); scanf(" % s", str);
    printf("%s \n", 【  】 );

选项

答案p1+(stfien(str)-1)或str+(strlen(str)-1) t==0或!t huiwen(str)或 (strlen(str)-1)+p1或(stden(str)-1)+str

解析 回文字符串是指正向与反向拼写都一样。由huiwen函数可知,第三处应该填写调用函数huiwen(str)。在函数huiwen中,执行P1=str;使p1指向字符串str中第一个字符的地址,则第一处应该使p2指向字符串str中最后一个字符的地址,故填p1+(stden(str)-1)或str +(strlen(str)-1)。本题要求如果是回文,则返回"yes!",否则,返回"no!",故当t=0时,说明字符串str为回文,所以第二处应填t==0或!t。
转载请注明原文地址:https://jikaoti.com/ti/EOK0FFFM
0

最新回复(0)