rick_yeung
rick_yeung
采纳率0%
2015-01-26 12:57 阅读 2.4k

哪位大神帮忙编写一个将输入复制到输出的程序,并将其中的多个空格用一个空格代替

哪位大神帮忙C++环境下,编写一个将输入复制到输出的程序,并将其中的多个空格用一个空格代替。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • yzt33 猫和鱼爪 2015-01-26 15:19
     #include <iostream>
    #include <string>
    
    using namespace std;
    
    void main()
    {
        cout<<"Please enter a word:"<<endl;
    
        istreambuf_iterator<char> beg(cin),end;
    
        if(cin.fail())
        {
            cout<<"Error!"<<endl;
        }
        else
        {
            string str(beg,end);
            size_t len=0;
    
            for(string::iterator sbeg=str.begin();sbeg!=str.end();++sbeg)
            {
                if(*sbeg==' ')
                {
                    for(string::iterator tmp=sbeg;*tmp==' ';++tmp,++len);
                    str.erase(sbeg,len+sbeg);
                    str.insert(sbeg,' ');
                    len=0;
                }
            }
            cout<<"The result is:"<<endl<<str<<endl;
        }
    
        system("pause");
    }
    
    点赞 评论 复制链接分享
  • weixin_41046475 weixin_41046475 2019-04-24 14:19

    我还没开始学C++,所以只能给你一个C的让你参考了。
    #include
    int main()
    {
    int c,i;
    i=0;
    while((c=getchar())!=EOF){
    (c!=' ')?((i==0)?putchar(c):putchar(c),i=0):((i==0)?(putchar(c),i++):i++);
    }
    return 0;

    }

    点赞 评论 复制链接分享

相关推荐