1、输入学生信息,姓名 成绩(成绩的数目不一定)
输出每个学生的学号和平均成绩,以及不及格课程数超过2的学生,按不及格课程数从大到小排好序输出。
(我没有见过真题,题目取自2016复试上机题,并且没有找到更加详细的题目描述),我觉得描述的很不明确,就按自己的理解做了。)
我的理解是:
首先要输出不及格数超过2的学生,若没有不及格的学生,则输出无不及格的学生,若有不及格数是1科的学生,则不输出。
然后按不及格课程数从大到小输出。
样例如下:
代码如下:
#include<iostream>
#include<cmath>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
struct Student
{
string name;
vector<int> grade;
int n; //科目数目
int m; //不及格数目
};
bool cmp(Student stua, Student stub)
{
return stua.m > stub.m;
}
int str_grade(string s)//将字符串转化为int成绩
{
int num=0,i,len = s.length();
for(i=len-1; i>=0; i--)