连载一

作者: 逍遥_9353 | 来源:发表于2018-07-04 11:51 被阅读30次

    /*IBM减一

    样例输入

    2

    HAL

    SWERC

    样例输出

    String #1

    IBM

    String #2

    TXFSD

    */


    思路分析:观察案例可知,输出字母是输入字母的后一个,而Z对应的则是A。通过if―else语句即可完成要求。



    //方法一:

    #include<iostream>

    #include<vector>

    #include<string>

    #include<algorithm>

    using namespace std;

    int main()

    {

    int num;

    vector<string>v;

    vector<string>::iterator it;

    cin>>num;

    for(int i=0;i<num;i++)

    {

    string temp;

    cin>>temp;

    v.push_back(temp);

    }

    int n = 1;

    for(it=v.begin();it!=v.end();it++)

    {

    string temp;

    temp = *it;

    cout<<"string #"<<n++<<endl;

    for(int j=0;j<temp.length();j++)

    {

    if(temp[j]=='Z')

    cout<<'A';

    cout<<char(temp[j]+1);

    }

    cout<<endl;

    }

    return 0;

    }   

    */

    //方法二:

    #include<iostream>

    #include<string>

    using namespace std;

    int main()

    {

    int n;

    while(cin>>n)

    {

    string s;

    while(cin>>s)

    {

    for(int j=0;j<s.length();j++)

    {

    if(s[j]=='Z')

    {

    cout<<'A';

    }

    cout<<char(s[j]+1);

    }

    cout<<endl;

    }

    }

    return 0;

    }


    连载一

    /*荷兰国旗问题

    样例输入

    3

    BBRRWBWRRR

    RRRWWRWRB

    RBRW

    样例输出

    RRRRRWWBBB

    RRRRRWWWB

    RRWB

    */


    思路分析:本题关键是如何输入一行案例,计算出三种字母的个数,按循序输出。


    #include<iostream>

    #include<cstring>

    using namespace std;

    int main()

    {

    int n;

    cin>>n;

    cin.get();//吸收尾部标记

    for(int i=0;i<n;i++)

    {

    char s[100];

    cin.getline(s,100,'\n');//读取一行

    int len = strlen(s);

    int r = 0,w = 0,b = 0;

    for(int i=0;i<len;i++)

    {

    if(s[i]=='R')

    r++;

    else

    {

    if(s[i]=='W')

    w++;

    else

    b++;

    }

    }

    for(int i=0;i<r;i++)

    cout<<'R';

    for(int j=0;j<w;j++)

    cout<<'W';

    for(int k=0;k<b;k++)

    cout<<'B';

    cout<<endl;

    }

    return 0;

    }


    连载一

    /*空格字符与非空格字符统计

    样例输入

    123fe*&54 0934j

    df *A  S

    样例输出

    14 1

    5 3

    */


    思路分析:关键在于如何判断已经输完字符串。


    #include<iostream>

    using namespace std;

    int main()

    {

    char ch;

    int m = 0,n = 0;

    while(!cin.eof())

    {

    if((ch=cin.get())!=' ')

    {

    if((ch!='\n')&&(ch!=-1))//-1表示文件尾部标志

    m++;

    else

    {

    cout<<m<<" "<<n<<endl;

    m = 0,n = 0;

    }

    }

    else

    n++;

    }

    return 0;


    连载一

    相关文章

      网友评论

        本文标题:连载一

        本文链接:https://www.haomeiwen.com/subject/nakeuftx.html