網站首頁 編程語言 正文
如何結束 while (cin>>str) 的輸入
cin
當從鍵盤上進行輸入并按下回車時,輸入的字符就會被送到輸入緩沖區進行存儲,且以空白字符為分隔符。
window 下
如果本行存在輸入字符的情況下,在行尾加 ctrl+z 并且回車之后并不會結束輸入,而是將 ctrl+z 當作一個字符來解釋,將該字符當作普通字符緩沖并輸出。
要結束輸入需要在新行(即輸入完成之后回車到新行)之后,輸入 ctrl+z 并回車結束輸入。
linux 下
在新行開頭,輸入ctrl+d,即為 EOF,此時輸入結束。
在行尾結束輸入 ctrl+d 則表示輸出輸入緩存區的數據,此時再次輸入 ctrl+d 就代表 EOF,從而結束輸入。
while(cin>>str);auto;find();
while(cin>>str);auto;find();
想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準備多少種不同的材料。
每個輸入包含 1 個測試用例。每個測試用例的第 i 行,表示完成第 i 件料理需要哪些材料,各個材料用空格隔開,輸入只包含大寫英文字母和空格,輸入文件不超過 50 行,每一行不超過 50 個字符。輸出一行一個數字表示完成所有料理需要多少種不同的材料。
舉例:BUTTER FLOUR HONEY FLOUR EGG 輸出:4
方法一SET
#include <iostream>
?#include <set>
?#include <string>
?using namespace std;
?int main() {
?string str;
?set<string> datas;
?//輸入流結束的條件就是:^z 之前不能有任何字符輸入(回車除外),否則 ^z 起不到流結束的作用。?
?while (cin >> str) {
?datas.insert(str);
?}
?cout << datas.size() << endl;
?return 0;
?}
方法二VECTOR
#include <iostream>
?#include <vector>
?#include <string>
?#include <algorithm>
?using namespace std;
?int main(){
?string food;
?vector<string> Vec;
?int count = 0;
?while(cin>>food){
?//Dev-C++ 5.4.0中的auto 工具——編輯選項——程序——g++修改成g++ -std=c++11
?auto ?it = find(Vec.begin(),Vec.end(),food);
?if (it == Vec.end())
?Vec.push_back(food);
?}
?cout<<Vec.size()<<endl;
?return 0;
?}
學習總結
問題一:Vector和Set的區別?
首先:Vector是數組,set是一個集合,內部的元素不會重復,同時它會自動進行排序,也是從小到大;?
其次:由于存儲結構不同,vector擅長于解決某個位置是什么值的問題,而set擅長于解決,某個元素在那個位置的問題,知道元素的內容,
查找它的位置。因此vector特別好的支持隨機訪問,而set不支持(不支持下標訪問)
問題二:find() 返回符合搜索條件的字符區的第一個字符的索引,沒找到目標就返回npos。
if(str.find("jia")==string::npos),沒找到==后必有
第二個參數:(可有可無)指出string內的搜索起點的索引
第三個參數:(可有可無)指出搜出的字符個數?
問題三:auto在 Dev-C++ 5.4.0的使用
問題四:while(cin>>str)的使用 windows中?
原文鏈接:https://blog.csdn.net/SAKURASANN/article/details/102946779
相關推薦
- 2023-02-01 C語言中聯合體與共用體和枚舉使用語法示例_C 語言
- 2022-03-08 SQL實現分頁查詢方法總結_數據庫其它
- 2022-07-22 對稱式加密與非對稱式加密的對比
- 2023-10-17 git更換遠端地址
- 2022-04-26 Jquery+bootstrap實現表格行置頂置底上移下移操作詳解_jquery
- 2022-12-15 ORACLE中%TYPE和%ROWTYPE的使用詳解_oracle
- 2022-11-19 Golang接口使用教程詳解_Golang
- 2022-10-07 詳解python數值與字符串高級用法_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支