一個C++ vector模板的例子

《C++ Primer》中文第5版,P93中的一個使用vector的例子。

假設有一組成績,其取值從0到100,要求以10分爲一個段,統計每段的成績數量。

可分爲0-9,10-19,... ,90-99,100共11個段。

#include <iostream>
#include <vector>

using std::cout;
using std::endl;

using std::vector;

int main()
{
  vector<unsigned> scores{42,65,95,100,39,67,
      95,76,88,76,83,92,76,93};  // 將要進行分類的成績
  vector<unsigned> grades(11,0);  // 每10分一個類,0-9,10-19,...90-99,100共11類。

  for (auto score : scores)
  {
    if (score <= 100)
      ++grades[score/10];
  }

  for (auto grade : grades)
    cout << grade << ' ';

  cout << endl;

  return 0;
}

輸出:

0 0 0 1 1 0 2 3 2 4 1

沒有30分以下的,30分到39分的1個,40分到49分的1個,沒有50分到59分的,60分到69分的2個,70分到79分的3個,80分到89分的2個,90分到99分的4個,100分的1個。

 

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