请补充函数fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量m对删除后字符串的长度进行保存。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的

admin2010-05-05  39

问题 请补充函数fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量m对删除后字符串的长度进行保存。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
    #include<stdio.h>
   #include<conio.h>
   int m;
   void fun(char *s)
   {
     int i=0,j=0;
     char *p=s;
     while (*(p+i))
     {
         if(*(p+i)>=’A’&&*(p+i)<=’Z’)
         {
          【  】
         }
           【  】
     }
     s[j]=’\0’;
           【  】;
   }
   main()
   {
      char str[80];
      clrscr();
      printf("\nEnter a string:");
      gets(str);
      printf("\n\nThe string is:\%s\n",str);
      fun(str);
      printf("\n\nThe string of changing
             is:\%s\n",str);
      printf("\n\nThe length of changed string
             is:\%d\n",m);
   }

选项

答案s[j++]=*(p+i) i++ m=j

解析 第一空:将大写字母存于原字符串中,数组下标j自加1,为下一次存放做准备。第二空:为了判断字符串中的下一个字符是否为大写字母,变量i自加1。第三空:最后将大写字母的个数,即删除后字符串的长度赋给全局变量m。
转载请注明原文地址:https://jikaoti.com/ti/8KkiFFFM
0

最新回复(0)