马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
【题目形貌】
问:请分析下面代码,在利用 cin 输入带空格的整行字符串时,会输出什么?
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- string s;
- cin>>s;
- for(int i=0; i<s.size(); i++) {
- cout<<s[i];
- }
- return 0;
- }
- /*
- in: abc efg
- out: abc
- */
复制代码 答:在输入为 abc efg 时,输出为 abc。显然,空格反面的部分没有输出。
【办理方案】
C++ 怎样读取包罗空格在内的整行字符串 s?
只需将常用的 cin>>s; 改为 getline(cin,s); 即可。
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- string s;
- getline(cin,s); //cin>>s;
- for(int i=0; i<s.size(); i++) {
- cout<<s[i];
- }
- return 0;
- }
- /*
- in: abc efg
- out: abc efg
- */
复制代码 【真题 “洛谷:P5015 标题统计” 分析】
标题泉源:https://www.luogu.com.cn/problem/P5015
标题形貌:凯凯刚写了一篇优美的作文,叨教这篇作文的标题中有多少个字符? 留意:标题中大概包罗大、小写英笔墨母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不盘算在内。
算法代码 →
- #include <bits/stdc++.h>
- using namespace std;
-
- int cnt=0;
- int main() {
- string s;
- getline(cin,s);
- for(int i=0;i<s.length();i++){
- if(s[i]!=' ') cnt++;
- }
- cout<<cnt<<endl;
-
- return 0;
- }
-
-
- /*
- in:abc@#237
- out:8
- in:Ca 356
- out:5
- */
复制代码
【参考文献】
|