您的位置:首页 > 其它

第16周项目2-去除多余的空格

2014-12-15 12:22 417 查看
/
*copyright (c)2014,烟台大学计算机学院
*All rights reserved
*文件名称:123.cpp
*作者:孙春红
*完成日期:2014年11月30日
*版本号:v1.0
*
*问题描述:编写程序,去除句子中所有多余的空格。
*输入描述:略。
*程序输出:略。
*
/
#include <iostream>
using namespace std;
char *pallstrim(char *str);
int main()
{
char s1[50]="   I'm a    vegetable   bird in  project.";
cout<<"句子为:"<<endl;
cout<<s1<<endl;
cout<<endl;
pallstrim (s1);
cout<<"改变后的句子是:"<<endl;
cout<<endl;
cout<<pallstrim(s1)<<endl;
return 0;
}
char *pallstrim (char *str)
{
char *p=str,*q=str;
bool space=false;
while (*q==' ')
{
q++;
}
while(*q!='\0')
{
if (*q!=' ')
{
space=true;
*p++=*q++; // 不是空格,复制
}
else if (space)   //是空格,但目前是第一个(因为之前notSpace=true;的条件是遇非空格)
{
space=false;   //第一个空格仍然要复制
*p++=*q++;
}
else   //如遇第二个或更后的空格,正是由于遇到第一个空格并复制后,notSpace=false;的原因,会走到这儿
{
q++;   //不复制
}
}
*p='\0';
return str;
}


运行结果:



知识点总结:

学会运用指针做形参编写程序进行字符串的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐