C++,用數組統計成績分段數量

參見https://blog.csdn.net/aero_sea/article/details/106438062,使用數組實現。

#include <iostream>

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

int main()
{
  unsigned grades[11] = {};  // 11個分段,全部初始化爲0
  unsigned score;
  
  while (cin >>score)
  {
    if (score <= 100)
      ++grades[score/10];
  }

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

  cout << endl;

}

與上個程序不同的是,沒有把要統計的成績寫在程序裏,需要在運行時輸入。

爲了避免運行一次就要錄入一遍成績,就建立了一個包含要統計成績的txt文件,運行程序時,使用重定向把文件內容當作鍵盤輸入,提高了程序的靈活性。

下面是scores.txt的內容:

42 65 95 100 39 67 95 76 88 76 83 92 76 93

如果程序編譯後的可執行文件名是grade,那麼在linux環境下,使用如下命令運行程序:

./grade < scores.txt

命令中的“<”表示把文件內容作爲鍵盤輸入給運行的程序。運行結果如下:

0 0 0 1 1 0 2 3 2 4 1

對運行結果的解釋,參見文章開始的鏈接。

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