| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2126 人关注过本帖
标题:C++ 如何以‘#’为定界符表示字符串结束,及输出替换字符后的字符串
取消只看楼主 加入收藏
UJN923600725
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2017-11-26
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:1 
C++ 如何以‘#’为定界符表示字符串结束,及输出替换字符后的字符串
Sample Input
3
A cat#
a b c#
a   #
Sample Output
A@cat
a@b@c
a@@@

样例如上
我写了如下
#include <string>
#include <iostream>
using namespace std;
int main()
{
    string str1;
    string str2;
    int N;
    cin>>N;
    cin.ignore(80,'\n');
    while(N--)
        {
      getline(cin, str1,'\n');
          for (int i = 0; i < str1.size(); ++i)
               {
                if (str1[i] == ' ')
                  {
                     str2 += "@";
                   }
                else
                  {
                     str2.push_back(str1[i]);
                   }
                 }
          cout << str2 << endl;
     }
            return 0;
}

但是把那个以#为定界符怎么弄啊,不会弄,看书上说可以其他字符作为定界符,但是我换一下编译貌似有错,我才学C++两节课,不太懂,百度找不到,还有就是输出的样例,我是百度看了看push_back的,但是他会在后面依次添加,我不晓得怎么办了,求助~!



搜索更多相关主题的帖子: C++ 字符 字符串 输出 cin 
2018-03-16 02:36
UJN923600725
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2017-11-26
收藏
得分:0 
楼上的输出不过来
后来写的,隔了好几天忘了发了

#include <string>
#include <iostream>

using namespace std;

int main()
{
    string str1;
    string str2;
    int N;
    cin>>N;
    cin.ignore(80,'\n');
    while(N--)
    {
     getline(cin, str1,'#');
    cin.ignore(80,'\n');
     for (int i = 0; i < str1.size(); ++i) {
        if (str1[i] == ' ') {
            str1[i] = '@';
        }
    }
    cout << str1 << endl;
    }
    return 0;
}
2018-03-24 18:52
快速回复:C++ 如何以‘#’为定界符表示字符串结束,及输出替换字符后的字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014684 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved