华为招聘机试整理6:选秀节目打分
2014-07-10 15:57
239 查看
华为招聘机试整理6:选秀节目打分
题目:选秀节目打分题目描述:为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分乘以0.6 + 大众评委乘以0.4,总分取整。如果没有大众评委,则 总分 = 专家评委平均分,总分取整。函数最终返回选手得分。
函数接口:int cal_score(int score[], int judge_type[], int n)
题目分析:
这道题比较简单,就是需要假设一些变量。
===========================================================================
参考代码:
//选秀节目打分.cpp //2014.7.10 hepanhui #include <iostream> #include <string> const int maxn = 100; using namespace std; int cal_score(int score[], int judge_type[], int n) { int expert_score = 0; int public_score = 0; int expert_number = 0; int public_number = 0; int sum = 0; for(int i = 0;i < n; i++) { if(judge_type[i] == 1) { expert_score += score[i]; expert_number++; } else { public_score += score[i]; public_number++; } } if(public_number) { expert_score = expert_score/expert_number; public_score = public_score/public_number; sum = (int)expert_score * 0.6 + public_score * 0.4; } else sum = expert_score/expert_number; return sum; } int main() { int n; cin >> n; int score[maxn]; int judge_type[maxn]; for(int i = 0; i < n; i++) { cin >> score[i]; } for(int j = 0; j < n; j++) { cin >> judge_type[j]; } cout << cal_score(score,judge_type,n) << endl; return 0; }
调试中易犯错误,int sum = 0最后不能忘记逗号。
相关文章推荐
- 华为机试——选秀节目打分
- 华为招聘机试整理9:输入一个字符串,用指针求出字符串的长度
- 华为招聘机试整理10:实现字符串中子字符串的替换
- 华为招聘机试整理2:判断一个数组的元素是否是回文
- 华为招聘机试整理16:约瑟夫环应用
- 华为笔试&程序员面试宝典——选秀节目打分
- 华为机试—选秀节目评分
- 华为招聘机试整理3:数组比较
- 华为机试-选秀节目评分
- 华为机试—选秀节目评分
- 华为招聘机试整理4:手机号码合法性判断
- 华为招聘机试整理5:简单四则运算
- 华为2012秋季校招机试题-选秀节目打分(题目来自网络)
- 华为招聘机试整理8:操作系统任务调度问题
- 华为招聘机试整理1:删除子串
- 华为校园招聘java机试整理
- 华为招聘机试整理14:数组奇数偶数排序
- 华为招聘机试整理9:输入一个字符串,用指针求出字符串的长度
- 华为招聘机试整理5:简单四则运算
- 华为招聘机试整理10:实现字符串中子字符串的替换