上机复试练习day1(福州大学&东华大学 2022.03.01)

270 阅读1分钟

福州大学&东华大学 上机题目

第一题:打印出螺旋数组

要求:打印出螺旋矩阵,求第i行j列的数字,0<n<10000

输入格式:

输入螺旋矩阵的阶数n

输出格式:

输出螺旋矩阵

思路:

设元素1的坐标为(0,0),任意元素的坐标为(x,y) 也可以采用递归的方式,借助一个二维数组,从外圈算起,向内圈打印输出。

#define MAX 10000

int sprial[MAX][MAX];

void print_sprial(int x,int y,int num,int n){
    if(n<=0){
        return;
    }
    if(n==1){
        sprial[x][y]=num;
        return;
    }//输入不合法的处理和递归边界
    for(int i=x;i<x=n-1;i++){
        sprial[y][i]=num++;
    }
    for(int i=y;i<y=n-1;i++){
        sprial[y+n-1][i]=num++;
    }
    for(int i=x+n-1;i>x;i--){
        sprial[y+n-1][i]=num++;
    }
    for(int i=y+n-1;i>y;i--){
        sprial[i][x]=num++;
    }//从外圈开始
    print_sprial(x+1,y+1,num,n-2);//递归函数
}
int main(){
    fill(sprial[0],sprial[0]+MAX*MAX,-1)
    int n;
    scanf("%d",&n);l
    printf_sprial(0,0,1,n);
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            print("%5d",sprial[i][j]);
        }
    }
    return 0;
}

第二题:畅通工程

要求:让全省任何两个城镇都可以实现沟通交流

输入格式:

每个测试的第一列给出两个正整数,分别是城镇数目N和道路数目M:随后的M对应M条道路,每行给出一对正整数,分别该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。

输出格式:

对每个测试用例额,在一行输出最少的还需要建设数目

思路:

利用数学知识



int main(){
    int m,n,a,b;
    scanf("%d %d\n",&m,&n);
    if(n!=0){
        for(int i=0;i<n;i++){
            scanf("%d %d\n",&a,&b);
    }
    printf("%d",m-n-1);//数学知识
    }
    return 0;
}

第三题:去除重复元素

要求:去除数值相同的元素,是数组中不再有重复的元素。

输入格式:

数组名称 a[]

输出格式:

不再有重复数值的数组即可

思路:

想用哈希真的数组中重复元素的个数,在利用辅助函数进行插入法插入到辅助元素当中,最后输出辅助元素。


#define MAX 10000
void deletechongfu(int A[],int length){
    int hashtble[MAX],B[MAX];//一个哈希数组,一个辅助数组
    int num=0;
    for(int i=0;i<length;i++){
        hshtable[A[i]]++;
        if(hashtable[A[i]]>=2){
            num++;//统计重复函数的个数
        }
    }
    for(int j=0,int i=0;j<length);j++){
        if(hashtable[A[j]]!=0){
            printf("%d ",A[j]);
            hashtable[A[j]]=0;//直接输出没有重复的函数
            B[i]=A[j];
            i++;
        }
    }
}
int main(){
    int A[MAX];
    int length;
    scanf("%d",&length);
    for(int i=0;i<length;i++){
        scanf("%d ",&A[i]);
    }
    deletechongfu(A,length);
}

东华大学还有一道水仙花原题,篇幅有限。

参考书目

1.计算机软件相关专业复试指导 ————皮皮灰 2.2022年数据结构考研复试指导 ————王道论坛