知名IT企业面试题整理(一)

时间:2022-09-17 03:15:17

整理的笔试面试题目都是全球著名的IT企业的典型题目,特整理在此,我们可以借鉴学习并实际测试自己的能力,一起学习吧,具体答案我没有,现在只有题目。 

    Sony 笔试题

    1.完成下列程序

    *

    *.*.
    *..*..*..
    *...*...*...*...
    *....*....*....*....*....
    *.....*.....*.....*.....*.....*.....
    *......*......*......*......*......*......*......
    *.......*.......*.......*.......*.......*.......*.......*....... 


    #include <stdio.h>
    #define N 8
    int main()
    {
        int i;
        int j;
        int k;

        ---------------------------------------------------------

        | |
        | |
        | |

        ---------------------------------------------------------

        return 0;
    }
    2.完成程序,实现对数组的降序排序
    #include <stdio.h>
    void sort( );
    int main()
    {
        int array[]={45,56,76,234,1,34,23,2,3};  //数字任//意给出
        sort( );
        return 0;
    }
    void sort( )
    {

        ____________________________________

        | |
        | |
        |-----------------------------------------------------|
    }
    3.费波那其数列,1,1,2,3,5……编写程序求第十项。可以用递归,也可以用其他

方法,但要说明你选择的理由。
    #include <stdio.h>
    int Pheponatch(int);
    int main()
    {
        printf("The 10th is %d",Pheponatch(10));
        return 0;
    }
    int Pheponatch(int N)
    {

    --------------------------------

    | |
    | |

    --------------------------------

    }
    4.下列程序运行时会崩溃,请找出错误并改正,并且说明原因。
    #include <stdio.h>
    #include <malloc.h>
    typedef struct{
        TNode* left;
        TNode* right;
        int value;
    } TNode;
    TNode* root=NULL;
    void append(int N);
    int main()
    {
        append(63);
        append(45);
        append(32);
        append(77);
        append(96);
        append(21);
        append(17); // Again,   数字任意给出
    }
    void append(int N)
    {
        TNode* NewNode=(TNode *)malloc(sizeof(TNode));
        NewNode->value=N;
        if(root==NULL)
        {
        root=NewNode;
        return;
        }
       else
       {
       TNode* temp;
       temp=root;

       while((N>=temp.value && temp.left!=NULL) || (N<temp. value && temp.
  right

!=NULL

    ))
       {
       while(N>=temp.value && temp.left!=NULL)
       temp=temp.left;
       while(N<temp.value && temp.right!=NULL)
       temp=temp.right;
       }
       if(N>=temp.value)
       temp.left=NewNode;
       else
       temp.right=NewNode;
       return;
       }
    }