```cpp
#include<bits/stdc++.h>
using namespace std;
char s;
int ans=0;
int main()
{
if(cin>>s)
ans++;
if(cin>>s)
ans++;
if(cin>>s)
ans++;
if(cin>>s)
ans++;
if(cin>>s)
ans++;
cout<<ans;
return 0;
}
```
@[Chenlinjie7315](/user/1186744)
by 3_14 @ 2024-04-20 20:14:19
你在检查空格的时候把代表字符串长度 $l$ 改变了,有些数据会查不到结尾,另外定义一个 $ans$ 记录答案就行了。
```cpp
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s;
getline(cin,s);
int l=s.length();
int ans=l;
for(int i=0;i<l;i++){
if(s[i]==' '||s[i]=='\n'){
ans--;
}
}
cout<<ans;
return 0;
}
```
by wuh623 @ 2024-04-21 20:12:48
而且其实不判断换行也可以, $s$ 里不会记录换行
by wuh623 @ 2024-04-21 20:17:36