请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入’’asd afaa z67’’,则输出为’’asdafaaz67’’。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数

admin2017-07-27  26

问题 请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入’’asd afaa z67’’,则输出为’’asdafaaz67’’。
    注意:部分源程序在文件PROGl.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1   #include<stdio.h>
2  #include<ctype.h>
3  void fun(char *str)
4    {
5
6  }
7   main()
8  {
9    char  str[81]; void NONO  ();
10  printf(’’Input a string:’’);
11  gets(str);
12  puts(str);
13   fun(str);
14  printf(’’*** str: %s\n’’,str);
15   NONO();
16   }
17  void NONO()
18    {
19  /*请在此函数内打开文件,输入调试数据,调用fun函数,输出数据,关闭文件。*/
20    char str[81];
21  int n=0;
22  FILE *rf,*wf;
23   rf= fopen(’’in.dat’’,’’r’’);
24   wf=fopen(’’out.dat’’,’’w’’);
25 while(n<10) {
26   fgets(str,  80,  rf);
27  fun(str);
28   fprintf(wf,’’%s’’,str);
29  n++;
30  }
31  fclose(rf);
32   fclose(wf);
33  }

选项

答案1 char *p=str; 2 int i=0; 3 while(*p){ 4 if(*p !=’ ’)str[i++]=*p; 5 p++; } 6 str[i]=0 ;

解析 该程序功能是删除字符串中的所有空格。本题的解题思路是首先利用一个指向字符串的指针,查找不是空格的字符,然后将不是空格的字符赋值到字符串,如果是空格,则跳过该字符,这样就实现了空格字符的删除。
转载请注明原文地址:https://jikaoti.com/ti/5Fi0FFFM
0

最新回复(0)