请补充函数fun(),该函数的功能是判断一个数是否为回文数。当字符串是回文时,函数返回字符申:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:abcba。 注意:部分源程序给出如下。 请勿改动主函

admin2013-06-12  47

问题 请补充函数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;【  】;i++)
              if(【  】)
              {
                  t=1;
                  break;
              }
          if (【  】)
               return("yes!");
          else
               return("no!");
       }

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

选项

答案i<=strlen(sb)/2或i<strlen(sw)/2 *p1++!=*p2-- t==20

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

最新回复(0)