问题标题: 酷町堂:6499 咒语

0
0
已解决
汪星辰
汪星辰
初级守护
初级守护

#include<iostream>
#include<string>
using namespace std;
int f(string s){
    int cnt=0,l=0,r=0;
    s=" "+s+" ";
    s.erase(s.size()-2,1);
    for(int i=0;i<s.size();i++){
        if(s[i]!=' '&&s[i-1]==' '){
            l=i;
        }
        if(s[i]!=' '&&s[i+1]==' '){
            r=i;
            string s1=s.substr(l,i-l+1);
            if(s1[0]>='A'&&s1[0]<='Z'){
                bool x=0;
                for(int j=1;j<s1.size();j++){
                    if(s1[j]>='A'&&s1[j]<='Z'){
                        x=1;
                    }
                }
                if(!x){
                    cnt++;
                }
            }
        }
    }
    return cnt;
}
int main(){
    string s;
    int m;
    cin>>m;
    getline(cin,s);
    for(int i=1;i<=m;i++){
        getline(cin,s);
        cout<<f(s)<<endl;
    }
}

代码50分

汪星辰在2023-08-11 18:47:35追加了内容

ding


0
已采纳
王梓轩
王梓轩
资深光能
资深光能

不用字符串模拟也可以,用while(cin)就可以了

0
我要回答