首页 > 代码库 > 华为机试(6)

华为机试(6)

初级题
描述: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;          }    }   }