文章
17
粉丝
43
获赞
10
访问
13.9k
借鉴大佬的题解
除了原来的数组外定义了一个新数组存放比较后的字母,定义一个标识符存放该位置是不是符号。
最后输出的时候进行判断如果该位置的标识符为1 则输出源字符串的东西,如果不是则输出新字符串的东西。
自定义cmp 列举几种可能性
排序采用稳定排序
#include<bits/stdc++.h>
using namespace std;
char s1[10005];
int flag[10005]={0};
bool cmp(char a,char b)
{
if((a>='a'&&a<='z')&&(b>='a'&&b<='z'))
{
return a<b;
}
if((a>='A'&&a<='Z')&&(b>='a'&&b<='z'))
{
return (a-'A')<(b-'a');
}
if((a>='a'&&a<='z')&&(b>='A'&&b<='Z'))
{
return (a-'a')<(b-'A');
}
if((a>='A'&&a<='Z')&&(b>='A'&&b<='Z'))
{
return a<b;
}
}
int main(){
string s;
while(getline(cin,s))
{
int len=s.size();
int cnt=0;
for(int i=0;i<len;i++)
{
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<...
登录后发布评论
暂无评论,来抢沙发