輸入一行字元,統計各類字元的出現次數
阿新 • • 發佈:2019-01-29
題目描述;輸入一行字元,以回車鍵結束輸入,分別統計其中出現的大寫英文字母,小寫英文字母,數字字元,空格和其他字元等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; }
執行結果為: