设为首页 收藏本站
查看: 1175|回复: 0

[经验分享] 华为机试题

[复制链接]
发表于 2018-7-24 12:01:00 | 显示全部楼层 |阅读模式
  1、选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与 score[]数组对应的评委类别,judge_type   == 1,表示专家评委,judge_type == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 =专家评委平均分    * 0.6 + 大众评委 * 0.4,总分取整。如果没有大众评委,则总分 =专家评委平均分,总分取整。函数最终返回选手得分。
  函数接口   int cal_score(int score[], int judge_type[], int n)
#include<stdio.h> #include<stdlib.h> #include<string.h>  int cal_score(int score[] , int judge_type[] , int n) { int i; int sum_exp = 0 , sum_nml = 0;  //sum_exp为专家评分  sum_nml大众评分 int cnt_exp = 0 , cnt_nml = 0;  //cnt_exp为专家人数  cnt_nml为大众人数 int ave_exp , ave_nml , aver_score;  for(i = 0 ; i < n ; i++) { if(judge_type == 1) { sum_exp += score; cnt_exp++; } else { sum_nml += score; cnt_nml++; }  ave_exp = sum_exp / cnt_exp; if(cnt_nml == 0) return ave_exp; ave_nml = sum_nml / cnt_nml;  aver_score = ave_exp * 0.6 + ave_nml * 0.4;  return aver_score; } }  int main() { int score[5] = {88 , 87 , 95 , 91 , 93}; int judge_type[] = {1 , 1 , 2 , 1 , 2}; int n =>  2、给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到 output[]数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[]数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
  例如:input[] = {3, 6, 1, 9, 7}   output[] = {3, 7, 9, 6, 1};             input[] = {3, 6, 1, 9, 7, 8}    output[] = {1, 6, 8, 9, 7, 3}
  函数接口   void sort(int input[], int n, int output[]
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h>  void large2small(int num[],int n) { int i,j,tmp; for(i=0 ;i<n-1;i++) { for(j=i+1;j<n;j++) if(num<num[j]) { tmp = num; num = num[j]; num[j] = tmp; } } }  void sort(int input[], int n, int output[]) { int i; int j; large2small(input, n); if(n%2 == 1) {  output[(n-1)/2]= input[0]; j=1; for(i=(n-1)/2-1;i>=0;i--) { output = input[j]; j+=2; } j=2; for(i=(n-1)/2+1;i<n;i++) { output = input[j]; j+=2; } } else if(n%2 == 0) { output[(n)/2]= input[0]; j=1; for(i=(n)/2-1;i>=0;i--) { output = input[j]; j+=2; } j=2; for(i=(n)/2+1;i<n;i++) { output = input[j]; j+=2; } }  }  int main(/*int argc, char **argv*/) { int input[6]={3,6,1,9,7,8}; int output[6]={0}; int i; sort(input, 6, output); for(i=0;i<6;i++) printf(&quot;%d &quot;,output); system(&quot;pause&quot;); return 0; }

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-540770-1-1.html 上篇帖子: 华为交换机vlan聚合与H3C Supervlan 配置实战对比 下篇帖子: 华为路由器NAT配置实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表