部分习题参考了网上已有的解答
#include<iostream>
#include<string>
#include<algorithm>
#include<ios>
#include<iomanip>
#include<vector>
#include<conio.h>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
using std::sort;
using std::streamsize;
using std::setprecision;
int main()
{
cout <<"please enter your first name:";
string name;
cin >> name;
cout <<"Hello, " << name <<"!" << endl;
cout <<"please enter your midterm and final exam grades:";
double midterm, final;
cin >> midterm>> final;
cout <<"enter all your homework grades, followed by end offile: ";
vector<double> homework;
double x;
while (cin >> x)
homework.push_back(x);
typedef vector<double>::size_typevec_sz;
vec_sz size =homework.size();
if (size == 0) {
cout << endl<<"you must enter your grades."
"please try again." << endl;
return 1;
}
sort(homework.begin(),homework.end());
vec_sz mid = size/2;
double median;
median = size % 2 ==0 ? (homework[mid] + homework[mid-1]/2) : homework[mid];
streamsize prec =cout.precision();
cout <<"Your final grade is " <<setprecision(3)
<< 0.2 *midterm + 0.4 * final + 0.4 * median
<<setprecision(prec) << endl;
getch();
return 0;
}