问题标题: 酷町堂:3991求解

0
0
已解决
程祺然
程祺然
初级光能
初级光能

额,好久没上问答了是吧

来发个正经的帖子

3991 大写的单词求解,以我的实力只能勉勉强强拿个40

3991 点我!

#include<iostream>
using namespace std;
string s;
string a[10005];
int cnt,ans,st;
bool check(string s){
    for(int i=0;i<s.length();i++){
        if(!(s[i]>='A'&&s[i]<='Z')){
            return false;
        }
    }
    return true;
}
int main(){
    getline(cin,s);
    s+=" ";
    for(int i=0;i<s.length();i++){
        if(s[i]==' '){
            a[++cnt]=s.substr(st,i-st);
            st=i+1;
        }
    }
    for(int i=1;i<=cnt;i++){
        if(check(a[i])){
            cout<<a[i]<<endl;
        }
    } 
    return 0;
}

大家帮忙改一改呗(¬_¬)

顺便 @陈九林

你代码搞好了吗?托更了这么久,罚500个(坨)闪币不过分吧

@黄中阳​​​​​​​ 我进不去洛谷啊啊啊啊啊啊


0
已采纳
张展嘉
张展嘉
新手天翼
新手天翼

光是截取单词,不是特别难吧

 getline(cin,s);
    s=" "+s+" ";
    int p=0,cnt=0,c=0;
    for(int i=1;i<s.size();i++){
        if(s[i]==' '){
            word[++cnt]=s.substr(p+1,i-p-1);
            p=i;
        }
    }
    int i=cnt;
    while(i){
        while(!(word[i][word[i].size()-1]>='a'&&word[i][word[i].size()-1]<='z'||word[i][word[i].size()-1]>='A'&&word[i][word[i].size()-1]<='Z')){
            word[i].erase(word[i].size()-1,1);
        }
        i--;
    }
    for(int i=1;i<=cnt;i++){
        int f=0;
        for(int j=0;j<word[i].size();j++){
            if(!(word[i][j]>='A'&&word[i][j]<='Z')){
                f=1;
                break;
            }else{
                f=0;
            }
        }
        if(f==1)c++;
        else cout<<word[i]<<endl;
    }
    if(c==cnt)cout<<"NO";

 

0
0
被禁言 李秉轩
李秉轩
修练者
修练者
#include<iostream>
#include<string>
using namespace std;
bool quandaxie(string s){
    for(int i=0;i<s.size();i++){
        if(s[i]<'A' || s[i]>'Z')
            return false;
    }
    return true;
}
string s;
int front,cnt;
int main(){ 
    getline(cin,s);
    for(int i=0;i<s.size();i++){
        if(!(s[i]>='A'&&s[i]<='Z' || s[i]>='a'&&s[i]<='z')){
            s[i]=' ';
        }
    }
    s=" "+s+" ";
    for(int i=1;i<s.size()-1;i++){
        if(s[i-1]==' ' && s[i]!=' '){
            front=i;
        }
        if(s[i]!=' ' && s[i+1]==' '){
            string tmp=s.substr(front,i-front+1);
            if(quandaxie(tmp)){
                cout<<tmp<<endl;
                cnt++;
            }
        }
    }
    if(cnt==0) cout<<"NO";
    return 0;
}

 

我要回答