C++學習札記20140315

switch語句首先對括號裏面的表達式求職,該表達式可以是一個初始化的變量聲明,表達式的值轉換成整數類型,然後與case標籤比較

case標籤必須是整型常量表達式,任何兩個case標籤的值不能相同,否則出錯

break語句的作用是中斷當前的控制流

#include <iostream>

using namespace std;

int main()
{
	unsigned int scnt=0, hcnt = 0, acnt = 0, ocnt = 0;
	char ch;
	while(cin.get(ch))//cin.get(ch)可以捕獲空格字符,cin >> ch 不能捕獲空格和換行等字符
	{
		switch (ch)
		{
		case ' ':
			++scnt;
			break;
		case '\n':
			++hcnt;
			break;
		case 'a':
			++acnt;
			break;
		default:
			++ocnt;
			break;
		}
	}
	cout << "space number: " << scnt << '\n'
		 << "newline number: " << hcnt << '\n'
		 << "alpha a number: " << acnt << '\n'
		 << "other number: " << ocnt << '\n';
	return 0;
}
//統計一下含有兩個字符的字符序列的數量 ff fl fi
#include <iostream>

using namespace std;

int main()
{
	unsigned int ffCnt=0, flCnt = 0, fiCnt = 0, oCnt = 0;
	char currCh = '\0', preCh = '\0';
	while(cin >> currCh)//cin.get(ch)可以捕獲空格字符,cin >> ch 不能捕獲空格和換行等字符
	{
		if(preCh == 'f')
		{
			switch (currCh)
			{
			case 'f':
				++ffCnt;
				break;
			case 'l':
				++flCnt;
				break;
			case 'i':
				++fiCnt;
				break;
			default:
				++oCnt;
				break;
			}
		}
		preCh = currCh;//想法很重要
	}
	cout << "ff number: " << ffCnt << '\n'
		 << "fl number: " << flCnt << '\n'
		 << "fi number: " << fiCnt << '\n'
		 << "oCnt number: " << oCnt << '\n';
	return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章