欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++?中如何結(jié)束?while?(cin>>str)?的輸入

 更新時間:2022年07月25日 10:49:16   作者:止步聽風(fēng)  
這篇文章主要介紹了C++?中如何結(jié)束?while?(cin>>str)?的輸入,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

如何結(jié)束 while (cin>>str) 的輸入

cin

當(dāng)從鍵盤上進(jìn)行輸入并按下回車時,輸入的字符就會被送到輸入緩沖區(qū)進(jìn)行存儲,且以空白字符為分隔符。

window 下

如果本行存在輸入字符的情況下,在行尾加 ctrl+z 并且回車之后并不會結(jié)束輸入,而是將 ctrl+z 當(dāng)作一個字符來解釋,將該字符當(dāng)作普通字符緩沖并輸出。

要結(jié)束輸入需要在新行(即輸入完成之后回車到新行)之后,輸入 ctrl+z 并回車結(jié)束輸入。

linux 下

在新行開頭,輸入ctrl+d,即為 EOF,此時輸入結(jié)束。

在行尾結(jié)束輸入 ctrl+d 則表示輸出輸入緩存區(qū)的數(shù)據(jù),此時再次輸入 ctrl+d 就代表 EOF,從而結(jié)束輸入。

while(cin>>str);auto;find();

while(cin>>str);auto;find();

想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準(zhǔn)備多少種不同的材料。

每個輸入包含 1 個測試用例。每個測試用例的第 i 行,表示完成第 i 件料理需要哪些材料,各個材料用空格隔開,輸入只包含大寫英文字母和空格,輸入文件不超過 50 行,每一行不超過 50 個字符。輸出一行一個數(shù)字表示完成所有料理需要多少種不同的材料。

舉例:BUTTER FLOUR HONEY FLOUR EGG 輸出:4

方法一SET

#include <iostream>
?#include <set>
?#include <string>
?using namespace std;
?int main() {
?string str;
?set<string> datas;
?//輸入流結(jié)束的條件就是:^z 之前不能有任何字符輸入(回車除外),否則 ^z 起不到流結(jié)束的作用。?
?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;
?}

學(xué)習(xí)總結(jié)

問題一:Vector和Set的區(qū)別 

首先:Vector是數(shù)組,set是一個集合,內(nèi)部的元素不會重復(fù),同時它會自動進(jìn)行排序,也是從小到大; 

其次:由于存儲結(jié)構(gòu)不同,vector擅長于解決某個位置是什么值的問題,而set擅長于解決,某個元素在那個位置的問題,知道元素的內(nèi)容,

查找它的位置。因此vector特別好的支持隨機(jī)訪問,而set不支持(不支持下標(biāo)訪問)

問題二:find() 返回符合搜索條件的字符區(qū)的第一個字符的索引,沒找到目標(biāo)就返回npos。

if(str.find("jia")==string::npos),沒找到==后必有

第二個參數(shù):(可有可無)指出string內(nèi)的搜索起點的索引

第三個參數(shù):(可有可無)指出搜出的字符個數(shù) 

問題三:auto在 Dev-C++ 5.4.0的使用

問題四:while(cin>>str)的使用 windows中 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言以數(shù)據(jù)塊的形式讀寫文件實例代碼

    C語言以數(shù)據(jù)塊的形式讀寫文件實例代碼

    本文主要介紹C語言中以數(shù)據(jù)塊的形式讀寫文件,這里提供了實例代碼舉例說明,有需要的小伙伴可以參考下
    2016-07-07
  • Qt5.9實現(xiàn)簡單的多線程實例(類QThread)

    Qt5.9實現(xiàn)簡單的多線程實例(類QThread)

    Qt開啟多線程,主要用到類QThread。用一個類繼承QThread,然后重新改寫虛函數(shù)run()。具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • C++ 頭文件系列(set)詳解

    C++ 頭文件系列(set)詳解

    一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明,而定義文件用于保存程序的實現(xiàn) 。
    2017-02-02
  • 利用C/C++實現(xiàn)較完整貪吃蛇游戲

    利用C/C++實現(xiàn)較完整貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了利用C/C++實現(xiàn)較完整貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C語言與C++中關(guān)于字符串使用的比較

    C語言與C++中關(guān)于字符串使用的比較

    字符串是我們再熟悉不過的東西了,任何語言中字符串都是基礎(chǔ)都要經(jīng)常用到,那么在不同語言中字符串的用法一樣嗎?下面我們來看看C語言與C++中字符串使用的比較
    2022-05-05
  • C語言分支和循環(huán)詳解

    C語言分支和循環(huán)詳解

    C語言是一門結(jié)構(gòu)化的程序設(shè)計語言,當(dāng)C語言用來描述生活中的事物時,會用到三種結(jié)構(gòu):順序結(jié)構(gòu)(不去贅述),選擇結(jié)構(gòu)(對應(yīng)分支語句),循環(huán)結(jié)構(gòu)(對應(yīng)循環(huán)語句),分支語句:分支語句分為兩種,一種是if語句,一種是switch語句
    2021-10-10
  • C++中指針的詳解及其作用介紹

    C++中指針的詳解及其作用介紹

    這篇文章主要介紹了C++中指針的詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • C++ com編程學(xué)習(xí)詳解

    C++ com編程學(xué)習(xí)詳解

    這篇文章主要介紹了C++ COM編程的學(xué)習(xí)過程,在C++中,可以使用抽象基類來實現(xiàn)COM接口,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • C語言修煉之路悟徹數(shù)組真妙理?巧用下標(biāo)破萬敵上篇

    C語言修煉之路悟徹數(shù)組真妙理?巧用下標(biāo)破萬敵上篇

    在C語言和C++等語言中,數(shù)組元素全為指針變量的數(shù)組稱為指針數(shù)組,指針數(shù)組中的元素都必須具有相同的存儲類型、指向相同數(shù)據(jù)類型的指針變量。指針數(shù)組比較適合用來指向若干個字符串,使字符串處理更加方便、靈活
    2022-02-02
  • C++中的基類和派生類構(gòu)造函數(shù)示例詳解

    C++中的基類和派生類構(gòu)造函數(shù)示例詳解

    這篇文章主要介紹了C++的基類和派生類構(gòu)造函數(shù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09

最新評論