zoukankan      html  css  js  c++  java
  • 1043 输出PATest(20 分)

    给定一个长度不超过 104​​ 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。

    输入格式:

    输入在一行中给出一个长度不超过 104​​ 的、仅由英文字母构成的非空字符串。

    输出格式:

    在一行中按题目要求输出排序后的字符串。题目保证输出非空。

    输入样例:

    redlesPayBestPATTopTeePHPereatitAPPT
    

    输出样例:

    PATestPATestPTetPTePePee
    
    //对于这道题目,可能有很多人想的是先循环一遍,看看有多少个需要的字符,然后在输出,这样很麻烦。我这个方法只要将字符串循环一遍就ok了,
    //然后在循环中按顺序用find()函数查找字符串中有没有我们需要的字符,并输出就可以了
    #include<iostream>
    #include<vector>
    using namespace std;
    int main(){
        string a;//保存输入的字符串
        getline(cin,a);
        for(int i=0;i<a.length()/2+1;i++){//开始对字符串进行循环,因为一次输出好几个字符,所以直接将长度减半了
            if(a.find('P')<a.length()){//如果能找到P就输出P,然就将那个找到的位置换成空格,后面也是这样依次输出
                cout<<"P";
                a[a.find('P')]=' ';
            }
            if(a.find('A')<a.length()){
                cout<<"A";
                a[a.find('A')]=' ';
            }
            if(a.find('T')<a.length()){
                cout<<"T";
                a[a.find('T')]=' ';
            }
            if(a.find('e')<a.length()){
                cout<<"e";
                a[a.find('e')]=' ';
            }
            if(a.find('s')<a.length()){
                cout<<"s";
                a[a.find('s')]=' ';
            }
            if(a.find('t')<a.length()){
                cout<<"t";
                a[a.find('t')]=' ';
            }
        }
    }
  • 相关阅读:
    "Key Violation" with ClientDataSet
    c# 的关键字 params,out,ref
    eval && JSON.parse
    json2.js
    C#中的索引器
    call , apply , caller , callee
    iphone&ipad图标去除高亮的光圈效果
    调用系统路线导航
    调科大讯飞出现的问题
    得到汉字首字母在表中的顺序位置
  • 原文地址:https://www.cnblogs.com/fromzore/p/9600692.html
Copyright © 2011-2022 走看看