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
