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

admin2015-05-30  29

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)实现的功能是,如果字符串str里面有空格或者不可打印字符,则全部去掉,将转化后的字符串放在字符串des里,然后返回该字符串。
    注意:不能修改程序的其他部分,只能补充convert ()函数。
    1    #include
    2  #include
    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<    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[i1==0为循环结束条件。
    (2)在循环中用if语句判断该字符是否是空格或者不可打印字符:if(str!=’ ’&&isprint(str)),如果满足条件说明不是空格或者不是不可打印字符添加到des中,不满足则无须添加到des中。
转载请注明原文地址:https://kaotiyun.com/show/lPNp777K
0

最新回复(0)