问题标题: 酷町堂:4436 英文句子排序

0
0
已解决
荣光峰
荣光峰
资深光能
资深光能

做过的题目又不会了,下面附上0分代码:

#include <bits/stdc++.h>
#include<iostream>
using namespace std;
int f(string m){
    int cnt=0;
    for(int i=0;i<=m.size();i++){
        if(m[i]==' '){
            return i;
        }
    }
}
bool cmp(string x,string y){
    if(x[0]!=y[0]){
        return x[0]<y[0]; 
    }
    if(x.size()!=y.size()){
        return x.size()<y.size(); 
    }
    return f(x)<f(y);
}
string a[100005],t;
int main(){
    int n;
    cin>>n;
    getline(cin,t); 
    for(int i=0;i<=n;i++){
        getline(cin,a[i]); 
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<a[i]<<endl;
    }
    return 0;
}

救救我吧!卡了好久了。


0
已采纳
褚俊皓
褚俊皓
新手天翼
新手天翼

第十九行改为return x.find(" ",0)<y.find(" ",0);

第二十五行改为getline(cin,a[0]);

还有最好不要用万能头

AC愉快

望采纳

我要回答