0
已解决
黄依成
中级天翼
中级天翼
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int n,a[10005];
int sz(string s){
int s1=0;
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9'){
s1++;
}
}
return s1;
}
int zm(string s1){
int s2=0;
for(int i=0;i<s1.size();i++){
if(s1[i]>='A'&&s1[i]<='z'){
s2++;
}
}
return s2;
}
bool cmp(string a1,string b1){
if(sz(a1)!=sz(b1)){
return sz(a1)>sz(b1);
}else{
if(zm(a1)!=zm(b1)){
return zm(a1)<zm(b1);
}else{
return a1<b1;
}
}
}
int main(){
cin>>n;
getline(cin,a[0]);
for(int i=1;i<=n;i++){
getline(cin,a[i]);
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<s[i]<<endl;
}
return 0;
}
唉,难受,37行总是报错。