有道C++的基础指针题不会,好心人帮忙看看

来源:百度知道 编辑:UC知道 时间:2024/05/12 07:27:43
2011 求平均成绩
Description
某班期末考试后要统计本班某门课程的平均成绩、最高成绩和最低成绩,你的任务是编程序实现这一功能。一个班的人数不超过30人,要求实现求最高成绩,最低成绩和平均成绩的功能用一个函数完成,并用参数返回最高成绩,最低成绩和平均成绩。
Input
一组测试数据,第一行为一个整数N,表示本班有N个人(N<=30),接下来的N行中每行一个整数,表示一个人的成绩。
Output
输出一行。该行包含三个数,分别是:最高成绩、最低成绩和平均成绩。成绩之间由空格分隔,其中平均成绩为实数,并精确到小数点后两位。
Sample Input
5
90
83
76
85
62
Sample Output
90 62 79.20

void _tmain(int argc, _TCHAR* argv[])
{
int TempNum = 0;
scanf_s("%d", &TempNum);
CScore* sco = new CScore(TempNum);
int TempScor = 0;
vector <int> ScorVector;
for(int i = 0; i<TempNum; i++)
{
scanf_s("%d", &TempScor);
ScorVector.push_back(TempScor);
}
vector <int>* pv = & ScorVector;
int high = 0,low = 0 ;
float aver = 0.0f;
sco->GetScore(pv, high, low, aver);
printf_s("%d %d %.2f\n", high, low, aver);

}

void CScore::GetScore(vector <int>* pv, int& high, int& low, float& aver)
{
int sumScor = 0, curScor = 0;
high = pv->at(0);
low = pv->at(0);
for(unsigned int i = 0; i<pv->size(); i++)
{
curScor = pv->at(i);
sumScor += curScor;
if(curScor > high)
high = curScor;
if(curScor < low)
low = curScor;
}