关闭

【笔试】求及格分

标签: 笔试求及格分
101人阅读 评论(0) 收藏 举报
分类:

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;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30827次
    • 积分:1150
    • 等级:
    • 排名:千里之外
    • 原创:85篇
    • 转载:2篇
    • 译文:0篇
    • 评论:10条
    最新评论