杭电 2012 年计算机复试真题

写在前面

此题目是根据 CSDN 博客粥粥同学发布的内容进行收集整理,记录了本人的解题过程和一些想法。仅供大家参考,如有错误,欢迎大家指出!


第一题

Problem Description

输入一个十进制的数,把它转成十六进制

Input

输入一个十进制整数,测试实例有多组,每组占一行

Output

输出对应的十六进制,每组占一行

Sample Input

50
123

Sample Output

32
7B

解题思路

可以偷懒直接利用 hex 输出,当然算的话就是整除取余,倒序输出

参考源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//方法一
#include <iostream>
using namespace std;
int main() {
int n;
while (cin >> n) {
cout << hex << uppercase << n << endl;
}
return 0;
}

//方法二
#include <cstring>
#include <iostream>
using namespace std;
int main() {
int n;
string s;
while (cin >> n) {
while (n) {
int r = n % 16;
s += r < 10 ? r + '0' : r + 'A' - 10;
n /= 16;
}
for (int i = s.length() - 1; i >= 0; i--) cout << s[i];
cout << endl;
s.clear();
}
return 0;
}

第二题

Problem Description

贪吃蛇游戏大家一定都有玩过,已知自身长度 10 格的贪吃蛇初始时在 10*10 的地图中位于黑色位置,红色方块表示蛇头,贪吃蛇可以往四个方向移动,每次移动一格。现在你来判断贪吃蛇是否可以成功的到达目的地

Input

给出一组操作序列,wsad 分别表示上下左右,之和是一个数字,表示朝某个方向前进的步数,中间间隔一个空格。
例如:w 5 表示向上移动 5 个单位

Output

判断贪吃蛇经过输入操作后的状态,判断是成功、出界还是撞到自己

Sample Input

s 5
w 5

Sample Output

成功
出界

解题思路

此题由于回忆版对题目描述并不清晰,参考了TeilyMa’s Blog的改编版本

参考源码

1


相关内容