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了!