国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++ primer 第一章的兩個(gè) if 語句例題

2019-11-08 02:54:54
字體:
供稿:網(wǎng)友

與大多數(shù)語言一樣,C++也提供了 if 語句 來支持條件執(zhí)行。我們可以用 if 語句寫一個(gè)程序,來統(tǒng)計(jì)在輸入中每個(gè)值連續(xù)出現(xiàn)了多少次:

#include <iostream>int main(){	//currVal 是我們正在統(tǒng)計(jì)的數(shù);我們將讀入的新值存入val	int val = 0, curral = 0;	//讀取第一個(gè)數(shù),并確保確實(shí)有數(shù)據(jù)可以處理	if (std::cin >> curral){		int cnt = 1;				//保存我們正在處理的當(dāng)前值的個(gè)數(shù)		while(std::cin>>val){       //讀取剩余的數(shù)			if (val == curral)      //如果值相同					++cnt;			//將cnt加一			else {                  //否則打印前一個(gè)值的個(gè)數(shù)					std::cout<< curral << " occurs " << cnt << " times "<< std::endl;					curral = val;	//記住新值					cnt = 1;		//重置計(jì)數(shù)器			   	}		}//while 循環(huán)在這里結(jié)束		//記住打印文件中最后一個(gè)值的個(gè)數(shù)			std::cout<< curral<<" occurs "<< cnt <<" times "<<std::endl;		}//最外層的if語句在這里結(jié)束		return 0;}

如果我們輸入如下內(nèi)容:

42 42 42 42 42 55 55 62 100 100 100

則輸出應(yīng)該是:

42 occurs 5 times

55 occurs 2 times

62 occurs 1 times

100 occurs 3 times

程序以兩個(gè)變量 val 和 currVal 的定義開始: currVal 記錄我們正在統(tǒng)計(jì)出現(xiàn)次數(shù)的那個(gè)數(shù);val 則保存從輸入讀取的每個(gè)數(shù)。與之前的程序相比,新的內(nèi)容就是兩個(gè) if 語句。第一條 if 語句保證輸入不為空。

if (std::cin >> currVal){			//...}//最外層的if語句在這里結(jié)束

與 while 語句類似, if 也對(duì)一個(gè)條件進(jìn)行求值。第一條 if語句的條件是讀取一個(gè)數(shù)值存入 currVal 中。如果讀取成功,則條件為真,我們繼續(xù)執(zhí)行條件之后的語句塊。該語句塊以左花括號(hào)開始,以return語句之前的右花括號(hào)結(jié)束。

如果需要統(tǒng)計(jì)出現(xiàn)次數(shù)的值,我們就定義cnt,用來統(tǒng)計(jì)每個(gè)數(shù)值連續(xù)出現(xiàn)的次數(shù)。與上一小節(jié)的程序類似,我們用一個(gè)while 循環(huán)反復(fù)從標(biāo)準(zhǔn)輸入讀取整數(shù)。

while 的循環(huán)體是一個(gè)語句塊,它包含了第二條if語句:

	if (val == curral)    		  //如果值相同		++cnt;			 //將cnt加一	else {                 		 //否則打印前一個(gè)值的個(gè)數(shù)		std::cout<< curral << " occurs " << cnt << " times "<< std::endl;		curral = val;		//記住新值		cnt = 1;		//重置計(jì)數(shù)器

這條 if 語句中的條件使用了 相等運(yùn)算符(==)來檢測(cè) val 是否等于currVal 。如果是,我們執(zhí)行緊跟在條件之后的語句。這條語句將 cnt 增加一,表明我們?cè)俅慰吹搅薱urrVal 。

如果條件為假, 即 val 不等于currVal , 則執(zhí)行else 之后的語句。這條語句是一個(gè)由一條輸出語句和兩條賦值語句組成的語句塊。輸出語句打印我們剛剛統(tǒng)計(jì)完得值的出現(xiàn)次數(shù)。賦值語句將cnt 重置為1,將 currVal 重置為剛剛讀入的 val 。

warning:C++用=進(jìn)行賦值,用==作為相等運(yùn)算符。兩個(gè)運(yùn)算符都可以出現(xiàn)在條件中。一個(gè)常見的錯(cuò)誤是想在條件中使用 ==(相等判斷),卻誤用了=。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 虞城县| 郯城县| 水城县| 富裕县| 桂东县| 武功县| 色达县| 广平县| 湟中县| 偃师市| 明溪县| 恩平市| 来宾市| 新密市| 中牟县| 武安市| 墨玉县| 清远市| 内江市| 大城县| 盐源县| 甘洛县| 安塞县| 和田市| 刚察县| 白水县| 重庆市| 台北市| 固镇县| 龙井市| 庆安县| 南丰县| 五指山市| 响水县| 平利县| 达州市| 公主岭市| 西安市| 固原市| 许昌市| 星座|