面试题【1】_删除字符串中多余的空格

浏览: 2480

1、题目

  给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。

  比如 :

 

" I like http://hi.baidu.com/mianshiti " à "I like http://hi.baidu.com/mianshiti"。

 

2、代码

 

#include<stdio.h>

#include<string.h>

 

void removeExtraPalce(char * str);

 

main(){

    char * str = " I like http://hi.baidu.com/mianshiti ";

    removeExtraPalce(str);

    return 0;

}

 

void removeExtraPalce(char * str)

{

    int i,count=0;

    int length =strlen(str);

    bool begin;

 

    if(str[0] != ' '){

        begin=true;

    }else{

        begin=false;

    }

 

    printf("[");

    for(i=0;i<length;i++){

        //去掉字符串头部空格

        if(str[i]==' ' && !begin){

            if(i<length-1 && str[i+1] !=' '){

                begin=true;

            }

            continue;

        }

 

        if(begin){

            if(str[i] == ' '){

                if(i<length-1 && str[i+1] !=' '){

                    //只输出中间的一个空格

                    printf("%c",str[i]);

                    count=0;

                }

                count++;

                continue;

            }

        }

 

        printf("%c",str[i]);

    }

 

    printf("]\n");

}

 

3、结果

3.1 测试1

  字符串:"I like http://hi.baidu.com/mianshiti"

  运行结果:

    

3.2 测试2

  字符串:"   I like http://hi.baidu.com/mianshiti"

  运行结果:

    

3.3 测试3

  字符串:"   I   like http://hi.baidu.com/mianshiti"

  运行结果:

    

3.4 测试4

  字符串:"   I   like   http://hi.baidu.com/mianshiti"

  运行结果:

    

3.5 测试5

  字符串:"   I   like   http://hi.baidu.com/mianshiti   "

  运行结果:

    

 

 

推荐 0
本文由 xia520pi 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册