1. 程式人生 > >輸入一行字元,統計各類字元的出現次數

輸入一行字元,統計各類字元的出現次數

題目描述;輸入一行字元,以回車鍵結束輸入,分別統計其中出現的大寫英文字母,小寫英文字母,數字字元,空格和其他字元等5類字元出現的次數。例如若輸入I am 20 years old!<Ender>,則統計的5類字元的次數分別是1,10,2,4,1                    

【 這裡編譯的時候出現了一個錯誤,上網科普了換行符和回車符的不同】

1.回車符 :分成兩個段落了; 回車是人為的。
2.換行符:僅僅把一個長行截斷成兩行,但還屬於同一個段落:換行是系統自動的。
#include<iostream>
using namespace std;
int main()
{
	char c;
	int A=0,a=0,num=0,space=0,other=0;
	cout<<"請輸入一行字元,並以回車結束輸入:";
	while((cin>>noskipws>>c)&&(c!='\n')) /*本來是(c!='\n'||c!='\r')但是編譯出錯了,敲入回車並沒有結束,但是去掉\n後敲入回車就停止輸入了!)*/
	{
		if(c>='A'&&c<='Z')
			A++;
		else if(c>='a'&&a<='z')
			a++;
		else if(c>='0'&&c<='9')
			num++;
		else if(c==' ')
			space++;
		else 
			other++;
	}
	   cout<<"大寫英文字母共有:"<<A<<"個"<<endl<<"小寫寫英文字母共有:"<<a<<"個"<<endl
		<<"數字字元共有:"<<num<<"個"<<endl<<"空格共有:"<<space<<"個"<<endl<<"其他字元共有:"<<other<<"個"<<endl;
		return 0;
}

執行結果為: