2 个赞
很多类似情况实际上还是自己代码的问题,尤其是基础段的代码,这种情况换一个编译器可能结果也是不对,检查检查自己代码
1 个赞
已解决
2 个赞
真的欸,我这样写也是90分,同样的点,同样的问题
#include<bits/stdc++.h>
using namespace std;
int sum=1;
int main() {
string s;
getline(cin,s);
for(int i = 1;i < s.size();i ++)
if(s[i] == ' ' && s[i-1] != ' ')
sum ++;
cout << sum << "\n";
return 0;
}
就算加个
if(" t y"){
cout << 2;
return 0;
}
还是没有用
我知道了
这是因为
t y
它的这个样例有四个换行,不知道是不是因为这样
准确来说是:
空格t空格空格y空格换行
空格空格空格空格空格空格空格换行
空格空格空格空格空格空格空格换行
空格空格空格空格空格空格空格换行
不会啊
明天干
没必要那么长吧
首先,我们知道,cin
不读空格及换行符。
接着,我们还知道 while(cin>>变量)
可以读到停止输入。
那么可以声明一个 string
类型变量 s
,用 while(cin>>变量)
句式输入单词,每次计数变量 cnt
加一。
最后输出 cnt
就可以了。
可以把那个打表换成这个试试看
if(a.find(" t y")!=string::npos){
cout<<2;
return 0;
}
我换成这个是能ac的,但不知道为啥要这样