【笔试】求及格分

10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:
(1) 及格线是10的倍数;
(2) 保证至少有60%的学生及格;
(3) 如果所有的学生都高于60分,则及格线为60分
输入:输入10个整数,取值0~100
输出:输出及格线,10的倍数

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int passScore = 10;/////及格分
bool mygreater60(int n)
{
return n>60;
}
bool mygreaterpassScore(int n)
{
return n>passScore;
}
int main()
{
int n;///////多少个学生
vector<int>iVec;//////存放学生的分数
vector<int>iVecpass;//////放及格分
//////得到n个学生的成绩
//while(cin>>n)
//{
int iScore;
for(int i = 0;i <10;i++)
{
cin>>iScore;
iVec.push_back(iScore);
}
//}
///////判断每个学生的成绩是不是都大于60,若是的话,及格分为60
int great60count = count_if(iVec.begin(),iVec.end(),mygreater60);
if(great60count == iVec.size())
{
passScore = 60;
}
else
{
for(;passScore <= 100;passScore += 10)
{
int greatpassScorecount = count_if(iVec.begin(),iVec.end(),mygreaterpassScore);
if(greatpassScorecount >= iVec.size()*0.6)
{
//break;
iVecpass.push_back(passScore);
}
}
}
vector<int>::iterator it = max_element(iVecpass.begin(),iVecpass.end());
cout<<*it<<endl;
system("pause");
return 0;
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31839479/article/details/52347016
文章标签: 笔试 求及格分
个人分类: 笔试
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭