求助!!!

B2120 单词的长度

hardy114514 @ 2024-04-21 17:18:28

8个TLE(#1~#4,#7~#10),1个WA(#5),1个AC(#6)

求助!!!


#include <bits/stdc++.h>
using namespace std;
int main() {
    string s;
    bool ok=true;
    while(1){
        cin>>s;
        char a=s[s.size()-1];
        if(ok){
            cout<<s.size();
            if(a=='.'){
                return 0;
            }
            ok=false;
        }else{
            cout<<','<< s.size();
            if(a=='.'){
                return 0;
            }
        }
    }
}

by hardy114514 @ 2024-04-21 17:19:57

发原因!!!


by AAAuc03 @ 2024-04-21 17:42:36

这个ok是干嘛的


by hardy114514 @ 2024-04-23 07:46:20

@Zhangenhe03
看是不是第一个字符串


by hardy114514 @ 2024-04-23 07:47:09

@Zhangenhe03


#include <bits/stdc++.h>
using namespace std;
int main() {
    string s;
    bool ok=true;
    while(1){
        cin>>s;
        char a=s[s.size()-1];
        if(ok){
            cout<<s.size();
            if(a=='.'){
                return 0;
            }
            ok=false;
        }else{
            cout<<','<<s.size();
            if(a=='.'){
                return 0;
            }
        }
    }
}

by hardy114514 @ 2024-04-23 07:49:29

@Zhanghe03
#5WA了


by Score_Elevate @ 2024-05-19 18:21:35

@hardy114514 你这真的一言难尽。。。你是想利用cin输入string类型取消空格,但是你没有清空字符串


by Score_Elevate @ 2024-05-19 18:24:12

@hardy114514 你可以不要依赖.size()函数来判断长度,直接输入一整个字符串,用 for循环从0循环到长度-1,遇到空格输出,清空叠加字符的变量一遍遍改


|