首页 > 其他 > 详细

题目 1049 字符串去特定字符 九度Online Judge

时间:2015-03-24 23:13:07      阅读:289      评论:0      收藏:0      [点我收藏+]
题目描述:

输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。

输入:

测试数据有多组,每组输入字符串s和字符c。

输出:

对于每组输入,输出去除c字符后的结果。

样例输入:
heallo
a
样例输出:
hello

第一种方法:

#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string s;   //×Ö·û´®
    while (cin>>s)
    {
        char c;     
        cin>>c;
        for (int i = 0; i < s.length(); i++)
        {
            if (s[i] != c)  
            {
                cout<<s[i];
            }
        }
        cout<<endl;
    }
    return 0;
}
/**************************************************************
    Problem: 1049
    User: Carvin
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:1520 kb
****************************************************************/

第二种方法:

/*
这种思路:
比较两个字符串数组,如果相同的则用一个特定的字符去替换。由于是字符串,比较特殊,所以选择用'\n'去替换!
有个疑问的就是为什么再输入的时候用getline,第一次显示的结果是对的,当进行第二轮测试的时候就不对了!如
果有兴趣的可以自己试试。
*/

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string str1,str2;
    int i,j;
//while(cin,str1)   
    while (cin>>str1)
    {
     
        int x=i;
        //getline(cin,str2); //不知道为什么,这里和while循环里用getline时,第一次比较显示是对的,第二次就不对了!
                             //如果有大牛知道知道,还望告知一下!
        cin>>str2;
        for (int i=0;i<str2.size();i++)
        {
            for (int j=0;j<str1.size();j++)
            {
                if (str2[i]==str1[j])
                {
                //  t[j]=str1[j];
                //  str1[j]=str1[j+1];
                str1[j]='\n';
               // cout<<str1[j+1];
                    //continue;
                }
                //else
                //  cout<<str1[j];               
            }
        }
         
        for (int j=0;j<str1.size();j++)
        {
            if (str1[j]=='\n')
            {
                continue;
            }
            else
                cout<<str1[j];
        }
        cout<<endl;
    }
    return 1;
}
/**************************************************************
    Problem: 1049
    User: Carvin
    Language: C++
    Result: Accepted
    Time:0 ms
    Memory:1520 kb
****************************************************************/



题目 1049 字符串去特定字符 九度Online Judge

原文:http://blog.csdn.net/carvin_zh/article/details/44596311

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!