最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在while中使用cin>>a?為條件及注意事項說明

 更新時間:2022年07月25日 17:16:08   作者:_?dingding_  
這篇文章主要介紹了在while中使用cin>>a?為條件及注意事項說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

在while中使用cin>>a 為條件

用一個題目來解釋

本題為統(tǒng)計輸入多少個連續(xù)數(shù)字

#include<iostream>
using namespace std;
int main()
{
	int currVal = 0 , val = 0;
	if(cin >> currVal)
	{
		int cnt=1;//統(tǒng)計次數(shù)
		while(cin >> val)
		{
			if(currVal == val)
			{
				cnt++;
			}
			else{
				cout << currVal <<" occurs "<<cnt<<" times "<<endl;
				currVal = val;
				cnt=1;//重新計算另一個 
			}
		} //while循環(huán)結(jié)束 
		cout << currVal <<" occurs "<<cnt<<" times "<<endl;//打印最后一個數(shù) 
	}//if循環(huán)結(jié)束 
	return 0;
}

有一個要注意的地方,以前不理解在while里面用cin >> val是什么意思,用這個當條件的話,通過檢測其流的狀態(tài)來判斷結(jié)束;

(1)若流是有效的,即流未遇到錯誤,那么檢測成功;

(2)若遇到文件結(jié)束符,或遇到一個無效的輸入時(例如本題輸入的值不是一個整數(shù)),istream對象的狀態(tài)會變?yōu)闊o效,條件就為假;

怎樣才是文件結(jié)束符呢?

不同的操作系統(tǒng)有不同的約定,在windows系統(tǒng)中,輸入文件結(jié)束符的方法是先按Ctrl+Z,然后再按Enter;在UNIX系統(tǒng)中,包括Mac OS X系統(tǒng)中,文件結(jié)束輸入為Ctrl+D;

下面是兩個輸入實例圖片,請對比

1.這個直接按enter,最后一個4顯然沒有輸入進去,程序讀不到最后一個數(shù),程序一直保持輸入的狀態(tài);

2.這個是正確實例,上面的Z是按了ctrl的效果

while(cin>>a) cin輸入直到回車結(jié)束

經(jīng)常遇到循環(huán)輸入,直到符合某種條件時結(jié)束輸入。

cin>>s是有返回值的,只要s滿足類型條件,就會return true,一直執(zhí)行下去,而cin會忽略空格或者enter,因此,enter后不會結(jié)束循環(huán)。只能ctrl+Z。

其實很簡單

通過get()判斷下一個輸入是不是回車就行。

while(cin>>a){
    ...
    if(cin.get()=='\n') break;
} 

舉個例子

#include <bits/stdc++.h>
using namespace std;
 
int b[10];
int main() 
{
	int i=0,a;
	while(cin>>a){
		b[i++]=a;
    	if(cin.get()=='\n') break;	
	} 
	for(i=0;i<10;i++) cout<<b[i]<<" ";
}

這里再以創(chuàng)建鏈表舉一個例子

#include <bits/stdc++.h>
using namespace std;
struct ListNode {
	int val;
	ListNode *next;
	ListNode(int x) : val(x), next(NULL) {}
	
};
 
int main()
{
	ListNode* head1 = new ListNode(NULL);
	ListNode* head = new ListNode(NULL);
	head1 = head;
	int a;
	while (cin >> a) {
		ListNode* tmp = new ListNode(a);
		head->next = tmp;
		head = tmp;
		if (cin.get() == '\n') break;
	}
	while (head1->next != NULL) {
		cout << head1->next->val<<endl;
		head1 = head1->next;
	}
	system("pause");
	return 0;
}

運行結(jié)果:

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

相關文章

  • C++高性能服務器框架之線程模塊

    C++高性能服務器框架之線程模塊

    該模塊基于pthread實現(xiàn),sylar說,由于c++11中的thread也是由pthread封裝實現(xiàn)的,并且沒有提供讀寫互斥量,讀寫鎖,自旋鎖等,所以自己封裝了pthread,本文主要詳細介紹了C++高性能服務器框架中的線程模塊,需要的朋友可以參考下
    2023-06-06
  • QT樹的具體項目實現(xiàn)

    QT樹的具體項目實現(xiàn)

    本文主要介紹了QT樹的具體項目實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • C++類的分離式寫法介紹示例

    C++類的分離式寫法介紹示例

    今天小編就為大家分享一篇關于C++類的分離式寫法介紹示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C語言靜態(tài)版通訊錄的設計與實現(xiàn)

    C語言靜態(tài)版通訊錄的設計與實現(xiàn)

    靜態(tài)版通訊錄是一種簡單的通訊錄實現(xiàn)方式,通過定義固定的數(shù)組大小來存儲聯(lián)系人信息。該方法不支持動態(tài)增刪聯(lián)系人,但具有實現(xiàn)簡單、易于理解的優(yōu)點。在程序設計中,需注意數(shù)組邊界溢出等問題
    2023-04-04
  • C++實現(xiàn)LeetCode(103.二叉樹的之字形層序遍歷)

    C++實現(xiàn)LeetCode(103.二叉樹的之字形層序遍歷)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(103.二叉樹的之字形層序遍歷),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C指針原理教程之C指針基礎

    C指針原理教程之C指針基礎

    指針是一個特殊的變量,它里面存儲的數(shù)值被解釋成為內(nèi)存里的一個地址。要搞清一個指針需要搞清指針的四方面的內(nèi)容:指針的類型、指針所指向的類型、指針的值或者叫指針所指向的內(nèi)存區(qū)、指針本身所占據(jù)的內(nèi)存區(qū)。
    2019-02-02
  • C語言實現(xiàn)加密解密功能

    C語言實現(xiàn)加密解密功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)加密解密功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++計算任意兩個日期天數(shù)差的方法詳解

    C++計算任意兩個日期天數(shù)差的方法詳解

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)任意兩個日期天數(shù)差,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2024-02-02
  • C語言通過三步翻轉(zhuǎn)法實現(xiàn)單詞倒置詳解

    C語言通過三步翻轉(zhuǎn)法實現(xiàn)單詞倒置詳解

    這篇文章主要為大家分享了用三步翻轉(zhuǎn)法將一句話的單詞進行倒置的方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-05-05
  • C++實現(xiàn)簡單迷宮游戲

    C++實現(xiàn)簡單迷宮游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單迷宮游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評論

区。| 安图县| 瑞安市| 且末县| 安徽省| 三台县| 萨迦县| 若羌县| 策勒县| 贵阳市| 临洮县| 西吉县| 峨眉山市| 天峻县| 奎屯市| 乌鲁木齐县| 陆河县| 饶平县| 浏阳市| 龙泉市| 霸州市| 永德县| 新乡县| 长治县| 石屏县| 如皋市| 什邡市| 乌兰浩特市| 新河县| 普定县| 汾西县| 九江县| 莫力| 漠河县| 黄大仙区| 万载县| 江北区| 汨罗市| 边坝县| 松桃| 芮城县|