字符串排序(华为特殊规则)
2017-05-20 15:06
741 查看
#include<bits/stdc++.h> using namespace std; int main() { char a[100000],b[100000]; while(gets(a)) { int n=0; for(int i=0; i<strlen(a); i++) { if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) { b[n++]=a[i]; } } int flag=1; for(int i=0; i<n&&flag; i++) { flag=0; for(int j=n-1; j>i; j--) { char a1=(b[j]>='A'&&b[j]<='Z')?b[j]-'A'+'a':b[j]; char b1=(b[j-1]>='A'&&b[j-1]<='Z')?b[j-1]-'A'+'a':b[j-1]; if(a1<b1) { int temp=b[j]; b[j]=b[j-1]; b[j-1]=temp; flag=1; } } } n=0; for(int i=0; i<strlen(a); i++) { if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) a[i]=b[n++]; } for(int i=0; i<strlen(a); i++) cout<<a[i]; cout<<endl; } return 0; }
相关文章推荐
- 2012华为编程比赛之字符串数字字符排序
- 写一个函数对字符串数组进行排序,排序的规则是根据每个字符串中……
- 【华为OJ】字符串排序
- 华为训练题:中级——字符串排序(查找)
- 华为机试——将一个字符串的元音字母复制到另一个字符串,并排序
- SQLServer陷阱(三) 字符串相等与排序规则
- 华为OJ中级题-字符串排序
- 华为OJ 字符串排序
- 华为2015实习上机:字符串排序
- 华为OJ平台试题 ——字符串:字符串比较排序
- 华为笔试-字符串拆分和排序
- 华为(10)字符串排序无视大小写
- Java 根据一些特殊分割规则分割字符串
- 华为机试—字符串中找出单词排序
- 华为机试—整数数组排序(字符串输入输出)
- 2012华为编程比赛初赛之字符串大写排序
- (华为)按照指定规则对输入的字符串进行处理
- 华为机试---字符串的规定重新排序
- [华为机试练习题]12.整型字符串排序
- 华为OJ(字符串排序)