2025年湖北工业大学计算机考研复试机试真题

2025年湖北工业大学计算机考研复试上机真题

历年湖北工业大学计算机考研复试上机真题

历年湖北工业大学计算机考研复试机试真题

更多学校完整题目开源地址:https://gitcode.com/u014339447/pgcode

百度一下pgcode 即可查看,输入 “学校名称” 即可筛选该校历年机试真题,包括真题、ac代码、解题思路、视频讲解。

单链表的逆序-湖北工业大学

题目描述

给定一个正整数 n n n,表示链表中结点的个数。随后输入 n n n 个整数,按照输入顺序依次插入到一个单链表的表头之后(即采用头插法构造链表)。

请你根据构造好的链表,按链表中的结点顺序依次输出所有元素的值。

链表的结点结构如下所示:每个结点包含一个整数数据域 v a l val val 和一个指向下一个结点的指针 n e x t next next

输入格式

输入包含多组测试数据。

每组测试数据第一行是一个整数 n n n,表示结点个数。

第二行包含 n n n​ 个整数,表示依次读入的数据。

输出格式

对于每组测试数据,输出一行,表示链表中结点的值,按顺序以空格分隔,行末不含多余空格。

数据范围

1 ≤ n ≤ 10 5 1 \le n \le 10^5 1n105
结点中的整数满足 ∣ v a l ∣ ≤ 10 9 |val| \le 10^9 val109

输入样例
5
1 2 3 4 5
输出样例
5 4 3 2 1
#include<iostream>
using namespace std;

typedef struct Link{
    int var;//数据域
    struct Link *next;//指针域
}link;

int main(void){
    
    int n;
    while(cin >> n){
        link *head=new link;//定义一个头结点;
        head->next=NULL;
        for(int i=0;i<n;i++){
            link* p = new link;
            cin >> p -> var;
            p->next=head->next;
            head->next=p;
        }

        for(link* q=head->next;q!=NULL;){
            cout << q -> var ;
            if(q->next != NULL)
                cout << " " ;
            link *p=q;
            q=q->next;
            delete p;
        }

        delete head;
    }
    return 0;
}

十进制转二进制-湖北工业大学

题目描述

给定一个十进制正整数 n n n,请将其转换为对应的二进制表示并输出。

输入格式

输入一个十进制正整数 n n n

输出格式

输出一个字符串,表示整数 n n n 的二进制表示(不含前导零)。

数据范围

1 ≤ n ≤ 10 9 1 \le n \le 10^9 1n109

输入样例
5257
输出样例
1010010001001
#include<iostream>
#include<cstring>
using namespace std;
int main(void){
    int n;
    cin >> n;
    if(n<0)
        return 0;

    char strs[32];
    for(int i=0;i<32;i++)
        strs[i]='\0';
    for(int i=0,x=n ; i<32 && x!=0 ; i++ ){
        if(x%2==0)
            strs[i]='0';
        else
            strs[i]='1';

        x/=2;

    }

    int lens = strlen(strs);
    for(int k=lens-1;k>=0;k--){
        cout << strs[k];
    }
    return 0;
}

数字1234的组-湖北工业大学

题目描述

给定数字集合 1 , 2 , 3 , 4 {1,2,3,4} 1,2,3,4,从中选取若干个不同的数字进行排列,生成所有可能的不重复整数。

要求:

  • 每个数字在同一个整数中最多只能使用一次;
  • 可以生成长度为 1 1 1 4 4 4 的整数;
  • 整数的每一位必须来自集合 1 , 2 , 3 , 4 {1,2,3,4} 1,2,3,4
  • 按生成顺序输出所有结果。

请输出所有满足条件的整数总数,以及按从字典序输出所有生成的整数。

输入格式

本题无输入。

输出格式

第一行输出一个整数,表示所有符合条件的整数个数。

接下来每行输出一个符合条件的整数,按生成顺序依次输出。

输入样例
(无)
输出样例
数量
1
2
3
4
12
13
...

矩阵的极值-湖北工业大学

题目描述

给定一个 3 × 4 3\times4 3×4 的整型矩阵,请你找出矩阵中的最大值和最小值,并分别输出它们的数值及其所在的行号和列号。

矩阵的行号和列号均从 1 1 1 开始计数。

输入格式

输入共 3 3 3 行,每行 4 4 4 个整数,表示矩阵中的元素。

输出格式

输出两行:

  • 第一行输出矩阵中的最大值、最大值所在的行号和列号
  • 第二行输出矩阵中的最小值、最小值所在的行号和列号

每行三个整数,数值与坐标之间用一个空格分隔。

数据范围
  • 矩阵元素为整数
  • 矩阵规模固定为 3 × 4 3\times4 3×4
输入样例
1 2 3 4
5 6 7 8
9 10 11 12
输出样例
12 3 4
1 1 1
#include<iostream>
#include<climits>
using namespace std;
int main(void){
    
    int max=INT_MIN,i_max,j_max;
    int min=INT_MAX,i_min,j_min;
    for(int i=1;i<4;i++){
        for(int j=1;j<5;j++){
            int digits;
            cin >> digits;
            if(max < digits){
                max=digits;
                i_max=i;
                j_max=j;
            }
            if(min > digits){
                min=digits;
                i_min=i;
                j_min=j;

            }
        }
    }
    cout << max << " " << i_max << " " << j_max << endl;
    cout << min << " " << i_min << " " << j_min << endl;
    return 0;
}

f(min > digits){
min=digits;
i_min=i;
j_min=j;

        }
    }
}
cout << max << " " << i_max << " " << j_max << endl;
cout << min << " " << i_min << " " << j_min << endl;
return 0;

}


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐