使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)实现的功能是,如果字符串str里面有空格或者不可打印字符,则全部去掉,将转化后的字符串放在字符串des

admin2019-01-19  44

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)实现的功能是,如果字符串str里面有空格或者不可打印字符,则全部去掉,将转化后的字符串放在字符串des里,然后返回该字符串。
    注意:不能修改程序的其他部分,只能补充convert ()函数。
1  #include<iostream.h>
2  #include<ctype.h>
3  #define MAXLEN 1024
4  char* convert(char* des,char*str)
5  {
6
7  }
8  void main()
9  {
10    char dest[MAXLEN];
11    char*str=’’  Ab cDeF hJ K’’;
12    cout<<convert(dest,str)<<end1;
13    return;
14  }

选项

答案1 int j=0; 2 for(int i=0;str[i] !=NULL;i++) 3 { 4 if(str[i]!=’’&&isprint(str[i]))//判断是否是可打印的而且非空格字符 5 { 6 des[j++]=str[i]; //添加 7 } 8 } 9 des[j]=NULL;//最后一个字符为空 10 return des;

解析 函数convert(char*des,char*str)实现的功能是:如果字符串str里面有空格或者不可打印字符,则全部删除,将转化后的字符串放在字符串des里。可用循环方式检查str中的每个字符,判断是不是空格或者不可打印字符,如果不是则放入des中,否则不放入des中。
    (1)由审题分析可知,可利用循环来逐个检索str中的字符,循环变量i从0开始,直到str数组的结束,即str==0为循环结束条件。
    (2)在循环中用if语句判断该字符是否是空格或者不可打印字符:if(str!=’’&& isprint(str)),如果满足条件说明不是空格或者不是不可打印字符添加到des中,不满足则无须添加到des中。
转载请注明原文地址:https://jikaoti.com/ti/w2t0FFFM
0

最新回复(0)