您的位置:首页 > 编程语言 > C语言/C++

2015年C++第三周,任务二:输入几个学生的成绩,用空格隔开,利用容器vector输出成绩,并显示各个等级的数量。

2015-01-21 20:32 211 查看
任务二:输入几个学生的成绩,用空格隔开,利用容器vector输出成绩,并显示各个等级的数量。

2-14

#include "stdafx.h"
#include <cstddef>
#include <vector>
#include <algorithm>
#include <string>
#include <ios>
#include <iostream>
using namespace std;
int main()
{
// count the number of grades by clusters of ten:
// 0--9, 10--19, . . . 90--99, 100
vector<int> scores(11, 0);
vector<int> grades;//store the grades
vector<string> L = { "J", "I", "H", "G", "F", "E", "D", "C", "B", "A", "A++" };
int grade;
char ch;
cout << "please input the grades of students(以!+回车结尾,各个输入数之间用空格隔开):" << endl;
while ((cin >> grade )&& ((ch = getchar()) != '\n'))
{
if (grade <= 100)
// increment the counter for the current cluster
{
grades.push_back(grade);
++scores[grade / 10];
}
}
vector<int>::iterator iter;
for (iter = grades.begin(); iter != grades.end(); ++iter)
{
cout << *iter << " ";
}
cout << endl;
cout << grades.size() << endl;
cout << "各个等级的个数(A++<100>,其余各10个数,如A<90-99>):" << endl;
vector<string>::iterator it;
for (it = L.begin(); it != L.end(); ++it)
{
cout << *it << " ";
}
cout << endl;
for (auto j : scores)
cout << j<< " ";       // print the value of that counter
cout << endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐