《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個。