问题标题: 酷町堂:3981

0
0
已解决
钱思源
钱思源
高级天翼
高级天翼

错误代码:

#include<iostream>

#include<algorithm>

using namespace std;

int js(string a){

int cnt=0;

for(int i=1;i<=n;i++){

if(a[i]>='0'&&a[i]<='9'){

cnt++;

}

}

return cnt;

}

bool cmp(string x,string y){

if(js(x)!=js(y))return js(x)>js(y);

return x<y;

}

int n,string s[10005];

int main(){

cin>>n;

getline(cin,s[0]);

for(int i=1;i<=n;i++){

getline(cin,s[i]);

}

sort(s+1,s+n+1,cmp);

for(int i=1;i<=n;i++){

cout<<s[i]<<' ';

}

return 0;

}

钱思源在2022-10-21 11:34:26追加了内容

emmm

代码给错了

更新一下

#include<iostream>
#include<algorithm>
using namespace std;
int js(string a){
    int cnt=0;
    for(int i=1;i<=a.size();i++){
        if(a[i]>='0'&&a[i]<='9'){
            cnt++;
        }
    }
    return cnt;
}
bool cmp(string x,string y){
    if(js(x)!=js(y))return js(x)>js(y);
    return x<y;
}
int n;
string s[10005];
int main(){
    cin>>n;
    getline(cin,s[0]);
    for(int i=1;i<=n;i++){
        getline(cin,s[i]);
    }
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<s[i]<<endl;
    }
    return 0;
}

钱思源在2022-10-21 14:50:28追加了内容

#include<iostream>
#include<algorithm>
using namespace std;
int n,s[10005];
int js(string a){
    int cnt=0;
    for(int i=0;i<a.size();i++){
        if(a[i]>='0'&&a[i]<='9'){
            cnt++;
        }
    }
    return cnt;
}
bool cmp(string x,string y){
    if(js(x)!=js(y)){
        return js(x)>js(y);
    }
    return x<y;
}
int main(){
    cin>>n;
    getline(cin,s[0]);
    for(int i=1;i<=n;i++){
        getline(cin,s[i]);
    }
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<s[i]<<endl;
    }
    return 0;


0
0
熊潇然
熊潇然
初级启示者
初级启示者

是输出换行!不是空格!

0
钱思源
钱思源
高级天翼
高级天翼

@熊潇然 ,改成endl后样例还没过……

0
熊潇然
熊潇然
初级启示者
初级启示者

你要把全局变量放在using n amespace std下面

0
我要回答