#include<iostream>
#include<string>
#include<vector>
#include<cmath>
#include<algorithm>
using namespace std;
struct student
{
string name;
double arr[100];
double avg;
int count;
};
bool cmp(student a,student b)
{
return a.count>b.count;
}
int main()
{
student stu[100];
string str,s;
int i=0;
cout<<"请输入学生信息:"<<endl;
while(getline(cin,str))
{
if(str=="0000")
break;
vector<string>vec;
vector<string>::const_iterator it;
int st=0,end=0;
for(int i=0;i<str.length();i++)
{
if(str[i]==' ')
{
end=i;
s=str.substr(st,end-st);
vec.push_back(s);
st=i+1;
}
}
s=str.substr(st,str.length()-st);
vec.push_back(s);
stu[i].name=vec[0];
int j=0;
int count=0,cs=0;
for(it=vec.begin()+1;it!=vec.end();it++)
{
int sum=0;
string temp=*it;
for(int k=0;k<temp.length();k++)
sum+=(temp[k]-'0')*pow(10,temp.length()-1-k);
cs+=sum;
stu[i].arr[j++]=sum;
if(sum<60)
count++;
}
stu[i].count=count;
stu[i].avg=cs/j;
i++;
}
cout<<i<<endl;
cout<<"学生的姓名和平均成绩为:"<<endl;
for(int m=0;m<i;m++)
cout<<stu[m].name<<" "<<stu[m].avg<<endl;
sort(stu,stu+i,cmp);
cout<<"不及格课程数超过2的学生及不及格课程数为:"<<endl;
for(int m=0;m<i;m++)
{
if(stu[m].count>2)
cout<<stu[m].name<<" "<<stu[m].count<<endl;
}
return 0;
}
北京理工大学2016年考研复试上机试题
最新推荐文章于 2024-08-22 14:22:57 发布