小凯的排序
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
调皮的小凯喜欢排序,拿到什么东西都要排一下序。现在他觉得单一的递增递减排序已经不能满足他了,所以他要制定一个新的排序规则,规则如下:给定一个长度不超过100的字符串,里面包括大写字母、小写字母、数字与其他英文标点符号(包括空格,但没有回车),如果是大写字母,就按照从Z到A降序来排,如果是小写字母或数字,就按照从a到z或从0到9来排,其他字符则保留排序前与排序后各个位置对应的字符类型不变。如排序前是“M105cpICcaZ”,则排序后是“Z015acMIcpC”。
Sample Input:
11
M105cpICcaZ
18
#InClude <STDio.H>
Sample Output:
Z015acMIcpC
#TdSeiln <IHDou.C>
解题思路:简单字符串处理,将大写字母、小写字母、数字各自排好序再依次填入对应符合类型的位置,最后再输出一整串结果字符串,水过!
AC代码:
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int maxn=105;
4 char ir[maxn],iu[maxn],id[maxn],str[maxn],obj[maxn];
5 int kr,ku,kd,n;
6 int main(){
7 while(cin>>n){
8 getchar();gets(str);kr=ku=kd=0;memset(obj,'