样例里最后一个数打不出来,求救

B2120 单词的长度

lucy2012 @ 2024-02-07 21:05:43

#include<bits/stdc++.h>
using namespace std;
int main() {
    int sum=0;
    string s;
    getline(cin,s);
    for(int i=0;i<s.length();i++){
        if(s[i]==' '&&sum!=0){
            cout<<sum<<",";sum=0;
        }else if(s[i]!=' ')
            sum++; 
        else if(i==s.length()-1&&s[i]!=' ')  
            cout<<sum+1;
    }
    return 0;
}

大佬,怎么回事呢?


by ny_jerry2 @ 2024-02-07 21:13:24

因为你最后一个单词的末尾字符永远是".",它不是空格,所以你会执行sum++操作

所以,最后一个单词长度应在循环外特别输出


by lucy2012 @ 2024-02-07 21:26:59

@ny_jerry2 谢谢大佬点拨,AC了!


|