#include "stdafx.h"
#include<vector>
#include<iostream>
#include<string>
using namespace std;
vector<double>sum = {};
int n = 0;
struct student
{
string Cname;
int Cnum;
double scores;
};
void search(student* stu, int i);
int main()
{
vector<student>STU;
student temp;
do
{
getline(cin, temp.Cname);
cin >> temp.Cnum;
cin >> temp.scores;
STU.push_back(temp);
n++;
}while (temp.Cnum != 000 && temp.scores != 0);
search(&STU.at(0), 0);
return 0;
}
void search(student* stu, int i)
{
for (int j = i + 1; j < n; j++)
{
if (stu[i].Cname == stu[j].Cname)
{
sum.at(i) += stu[j].scores;
sum[i + 1]++;
}
else
search(stu, i + 2);
}
int aver = sum[i] / sum[i + 1];
cout << stu[i].Cname << " " << aver;
}
题目是:输入格式:
若干行,每行信息包括班级,学号和成绩,用空格隔开,
最后一行为:000 000 000
输出格式:
若干行,每行信息包括:班级和平均成绩,中间用一个空格隔开。行数由输入中的班级数确定。
如图中所示 “网络”后,从键盘中无法输入学号了