请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。 例如,输入“abcdef”,输出“bdf”。 注意:部分源程序给出如

admin2010-09-14  16

问题 请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。
   例如,输入“abcdef”,输出“bdf”。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
   #include <stdio.h>
   #define N 80
   void fun(char s[],int n)
   {
       int i, j;
       j=0;
       for(i=0;【  】;i++)
       {
          if(【  】)
                s [j++]-s ;
       }
【  】;
   }
   main ( )
   {
      int i=0, strlen=0;
      char str [N];
      clrscr ();
      printf ("\nInput a string: \n");
      gets (str);
      while (str !=’\0’)
      {
          strlen++;
          i++;
      }
      fun(str, strlen);
      printf("\n*** display string ***\n");
      puts (str);
   }

选项

答案i<n s[i]%2=0 s[j]= ’\0’

解析 第一空:变量n为字符串的长度,所以字符数组的下标的取值范甲是从0到n-1。第二空:如果当前字符的ASCII码对2取余等于0,就说明这个字符的ASCII码为偶数,故不能删除,而是将它存于字符串s中。第三空:通过保留ASCII码为偶数的字符的力法,来实现删除ASCII码为奇数的字符的目的。处理结束后,还要在字符串s的最后加上结束标记符’\0’。
转载请注明原文地址:https://kaotiyun.com/show/AWID777K
0

最新回复(0)