问题标题: 酷町堂:1465 字符串顺序输出

0
0
已解决
李宜和
李宜和
高级启示者
高级启示者

1465   字符串顺序输出

经验值:0 时间限制:1000毫秒

题目描述 Description

给定一个字符串,其中只有大写字母,小写字母和数字组成,现按照大写字母、小写字母、数字进行排序输出,将所有的小写字母移到大写字母之后,所有的数字移到小写字母之后,并保持大写字母、小写字母和数字原有的顺序不变。输出排序之后的字符串。

输入描述 Input Description

输入为一行,为需要排序的字符串,只有大写字母、小写字母和数字组成,长度不超过255。

输出描述 Output Description

输出为一行,为排序之后的字符串。

样例输入 Sample Input

a12bc3ABbcC

样例输出 Sample Output

ABCabcbc123

我懵了,求思路/核心


0
已采纳
王文博
王文博
缔造者之神
缔造者之神

核心:

for(i=0;i<l;i++)
    {
        if(s[i]>='A'&&s[i]<='Z')
            a+=s[i];
        else if(s[i]>='a'&&s[i]<='z')
            b+=s[i];
        else if(s[i]>='0'&&s[i]<='9')
            c+=s[i];
    }

l为字符串长度

望采纳!

0
潘艺博
潘艺博
初级天翼
初级天翼

好家伙,我直呼好家伙

我是定义dx(大写)、xx(小写)和sz(数字)这三个字符串写的

判断当前s[i]是哪一种,累加,比如:

if(s[i]>='0'&&s[i]<='9'){//s[i]=数字时
            sz+=s[i];
}

大写字母和小写字母以此类推

最后循环输出:

for(int i=0;i<dx.size();i++){//输出大写字母

    cout<<dx[i];

}

小写字母和数字也是以此类推输出,要按大写字母、小写字母和数字的顺序输出

即可AC

望采纳~

0
朱小川
朱小川
缔造者
缔造者

for(int i=0;i<=s.size()-1;i++){

if(s[i]>='A'&&s[i]<='Z'){

cout<<s[i];

}

} for(int i=0;i<=s.size()-1;i++){

if(s[i]>='a'&&s[i]<='z'){

cout<<s[i];

}

}for(int i=0;i<=s.size()-1;i++){

if(s[i]>='0'&&s[i]<='9'){

cout<<s[i];

}

}

我要回答