历年湖北工业大学计算机考研复试机试真题(解题思路 + AC 代码)
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 1≤n≤105
结点中的整数满足 ∣ v a l ∣ ≤ 10 9 |val| \le 10^9 ∣val∣≤109
输入样例
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 1≤n≤109
输入样例
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;
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)