文档介绍:届华为校园招聘上机考试题2012届华为校园招聘上机考试题目(9月6日下午1点场)分类:华为准备2011-09-0815:10281人阅读评论(0)收藏举报在网上看到华为在有的地方已经开始机试了,于是决定自己先编着试试。下面是题目和自己写的代码。 1、选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与score[]数组对应的评委类别,judge_type[i]==1,表示专家评委,judge_type[i]==2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分=专家评委平均分 * +大众评委*,总分取整。如果没有大众评委,则总分=专家评委平均分,总分取整。函数最终返回选手得分。 函数接口  intcal_score(intscore[],intjudge_type[],intn) viewplaincopytoclipboardprint?#include<>  #include<>  #include<>  #include<>  #define N 5    int cal_score(int score[], int judge_type[], int n)     {      int expert=0;      int dazhong=0;      int zongfen=0;      int i;      int number=0;            for(i=0;i<N;i++)      {          if(judge_type[i]==1)          {              expert=expert+score[i];              number++;          }          else dazhong=dazhong+score[i];      }      if(number==N)      {          zongfen=(int)(expert/N);      }      else                {          expert=(int)(expert/number);          dazhong=(int)(dazhong/(N-number));          zongfen=int(*expert+*dazhong);                }      return zongfen;        }  int main()  {      int score[N];      int judge_type[N];      int numberlast=0;      int i;      printf("please input the %d score:\n",N);      for(i=0;i<N;i++)          scanf("%d",&score[i]);      printf("please input the level(1:expert,2:dazhong)\n");      for(i=0;i<N;i++)          scanf("%d",&judge_type[i]);      numberlast=cal_score(score,judge_type,N);      printf("the last score is %d\n",numberlast);      return 0;  }  运行结果分析:pleaseinputthe5score:9080878991pleaseinputthelevel(1:expert,2:dazhong)12111thelastscoreis852、给定一个数组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}  viewplaincopytoclipboardprint?#include<>  #include<>  #include<>        void sort(int input[], int n, int o