文档介绍:2012届华为校园招聘上机考试题
D
        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;  
}  
运行结果分析:
please input the 5 score:
90 80 87 89 91
please input the level(1:expert,2:dazhong)
1 2 1 1 1
the last score is 85
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}
  
view plaincopy to clipboardprint?
#include<>   
#include<>   
#include<>   
  
  
  
void sort(int input[], int n, int output[])  
{  
    int i,j;  
    int k=1;  
    int temp;  
    int med;  
    for(i=0;i<n;i++)  
        for(j=0;j<n-i;j++)  
            if(input[j]>input[j+1])  
            {temp=input[j];input[j]=input[j+1];input[j+1]=temp;}  
            if(n%2!=0)  
            {  
                for(i=0;i<n;i++)  
                    printf("%2d",input[i]);  
                printf("\n");  
                med=(n-1)/2;  
                output[med]=input[n-1];  
                for(i=1;i<=med;i++)  
                {