初级题
描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:
(1) 及格线是10的倍数;
(2) 保证至少有60%的学生及格;
(3) 如果所有的学生都高于60分,则及格线为60分
(4) 及格线越高越好,但最高不能超过60
输入:输入10个整数,取值0~100
输出:输出及格线,10的倍数
输入样例:61 51 49 30 20 10 70 80 90 99
输出样例:50
解题思路:从高到低枚举及格线,输出第一个满足要求的及格线就是答案
#include<iostream> #include<vector> using namespace std; void main() { vector<int> ves(10,0); for(int i=0;i<10;i++) cin>>ves[i]; int res,num;//及格线res,num个及格的人 for(res = 60;res >= 0;res -= 10) { num = 0; for(int i = 0;i<10;i++) { if(ves[i]>=res) num++; } if(num>=6) { cout<<res<<endl; break; } } }
原文地址:http://www.cnblogs.com/Xylophone/p/3819033.html