文档介绍:2023届华为校园招聘上机考试题
2023届华为校园招聘上机考试题目〔9月6日下午1点场〕
分类: 华为准备 2023-09-08 15:10 281人阅读 评论(0) 收藏 举报
在网上看到华为在有的地方已经开始机试了,个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
      例如: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++)  
                {  
                    output[med-i]=input[n-1-k];  
                    output[med+i]=input[n-2-k];  
                    k=k+2;  
                      
                }  
            }  
            else  
            {  
                  
                for(i=0;i<n;i++)  
                    printf("%2d",input[i]);  
                printf("\n");  
                med=n/2;  
                output[med]=input[n-1];  
                for(i=1;i<=med-1;i++)  
                {  
                    output[med-i]=input[n-1-k];  
                    output[med+i]=input[n-2-k];  
                    k=k+2;    
                }  
                output[0]=input[0];               
            }     
            for(i=0;i<n;i++)  
                    printf("%2d",output[i]);  
                printf("\n");  
}  
  
  
int main()  
{  
    int a[6]={3,6,1,9,7,8};  
    int b[6]={0};  
    for(int i=0;i<6;i++)  
        printf("%2d",a[i]);