Java教程

2019年试题

本文主要是介绍2019年试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一、程序阅读与理解。(45分)

二、简答题(60分)

三、算法设计(45分)


 

一、程序阅读与理解。(45分)

1、

#include <stdio.h>
int main()
{
    int count = 5;
    while (count <= 7)
    {
        count++;
        printf("%d\n", count);
    }
    return 0;
}

 2、

#include <stdio.h>
int main()
{
    int *p, *q, k = 10, j = 6;
    p = &k;
    q = &j;
    if (*p < *q)
        printf("%d\n", *p);
    else
        printf("%d\n", *q);
    return 0;
}

 3、

#include <stdio.h>
int main()
{
    int i;
    int F[5] = {1, 1};
    for (i = 2; i < 5; i++)
        F[i] = F[i - 2] + F[i - 1];
    for (i = 0; i < 5; i++)
        printf("%d", F[i]);
    return 0;
}

 4、题目报错

#include <stdio.h>
void function(int *x, int *y)
{
    printf("%d %d", *x, *y);
    *x = 8;
    *y = 9;
}
int main()
{
    int x = 5, y = 6;
    function(*y, *x);
    printf("%d %d", *x, *y);
    return 0;
}

 5、

#include <stdio.h>
int main()
{
    char string[20] = "Welcome to China!", *p = string;
    printf("%s\n", p + 11);
    return 0;
}

6、没反应

#include <stdio.h>
int main()
{
    FILE *fp;
    int i, k = 0;
    fp = fopen("test.dat", "w");
    for (i = 4; i <= 8; i++)
        fprintf(fp, "%d", i);
    fclose(fp);
    fp = fopen("test.dat", "r");
    fscanf(fp, "%d", k);
    printf("%d\n", k);
    fclose(fp);

    return 0;
}

7、

#include <stdio.h>
void function(int a[])
{
    int i = 0;
    while (a[i] <= 10)
    {
        printf("%d", a[i]);
        i++;
    }
}
int main()
{
    int D[] = {3, 6, 9, 10, 4, 12, 8};
    function(D);
    return 0;
}

 8、

#include <stdio.h>
int main()
{
    int k;
    for (k = 1; k <= 10; k++)
    {
        if (k % 3 == 0)
            continue;
        printf("%d", k);
    }

    return 0;
}

 9、

#include <stdio.h>
int main()
{
    int *p1, *p2, *p, x, y;
    scanf("%d %d", &x, &y);
    p1 = &x;
    p2 = &y;
    if (x, y)
    {
        p = p1;
        p1 = p2;
        p2 = p;
    }
    printf("x=%d,y=%d\n", x, y);
    printf("max=%d,min=%d\n", *p1, *p2);
    return 0;
}

二、简答题(60分)

1、已知用一维数组存放的一棵完全二叉树:ABCDEFGHIJKL,请画出该二叉树的结构,并写出该树的先序,中序和后序遍历序列。(10分)

2、已知有一组关键字为{16,3,7,11,9}的初始记录,请详细给出构造一棵AVL树的详细过程。(16分)

3、已知有一哈希表长度为9,哈希函数为H(K)=K%9(取模运算),给定的关键字集合{7,8,30,11,18,9,14,26},请计算集合中关键字的哈希地址,并用拉链法构建哈希表。(12分)

4、霍夫曼编码是一种变长编码方法,请为概率分别为{0.09,0.24,0.26,0.11,0.30}的字符集合{m,n,h,o,p}构造一棵霍夫曼树,并给出每个符号的编码。(13分)

5、请详细给出{5,10,20,2,8,7,11,9,14}的冒泡排序过程(升序)。(9分)

三、算法设计(45分)

1、请用c语言写出直接选择排序算法的代码,该算法的函数定义如下:(15分)

void selectSort(int R[],int n){
    
}

2、现有单链表结点类型定义如下:

Typedef struct LNode
{
    ElemType data;
    struct LNode *next;
} HL;

请设计一个算法统计单链表HL中结点值等于某个给定值x的结点数。(15分)

3、链式存储的二叉树结点定义如下:

Typedef struct Node
{
    ElemType data;
    struct Node *lchild;
    struct Node *rchild;
} EBTNode;

请写出计算该二叉树高度的算法。(15分)

这篇关于2019年试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!