2017年11月4日 星期六

[C_AR54-易] 小寫字元計算(C++)

**如果看不懂可以在底下留言發問**

**試著看懂別人的程式碼也是一種學習^ ^**

[C_AR54-易] 小寫字元計算

問題描述:
請撰寫一個程式,可以根據使用者輸入的字元,統計 a-z 的出現次數。
輸入說明:
使用者輸入一個整數表示共有幾個字元,接著使用者會輸入該整數個小寫字元 (a-z)  。
輸出說明:
根據使用者輸入的字元,根據字元的排序 (a-z) 顯示各字元的出現次數 (0 次不顯示 ) 。
範例:

Sample Input:Sample Output:
10
h
m
e
k
p
e
g
e
f
b
b 1
e 3
f 1
g 1
h 1
k 1
m 1
p 1

  1. #include <iostream>  
  2. #include<algorithm> // fill()  
  3.   
  4. using namespace std;  
  5.   
  6. int main() {  
  7.     // [C_AR54-易] 小寫字元計算  
  8.     // a=97 ~ z=122 ASCII  
  9.     //  a=0 ~ z=25  count陣列位置  
  10.     int count[26];  
  11.     fill(count, count+26,0);  //計算個數的陣列歸零  
  12.     int n; //使用者輸入的字元個數  
  13.     char ch; //輸入的字元  
  14.     cin >> n; //輸入  
  15.     for(int i = 0;i < n;i++)  //計算數量  
  16.     {  
  17.         cin >> ch;  
  18.         count[ch-97]++;  
  19.     }  
  20.     for(int i = 0;i < 26;i++)  //輸出數量  
  21.     {  
  22.         if(count[i] != 0)  
  23.         {  
  24.             cout << char(i+97) << " " << count[i] << endl;  
  25.         }  
  26.     }  
  27.     return 0;  
  28. }  

沒有留言:

張貼留言