上海交大计算机复试机试,上海交大计算机考研复试机试.pdf

上海交大计算机考研复试机试.pdf

我自己在准备考研时曾做了下06 ,07 ,08,09 年的题目,并且在博客中提供了一个参考的

题解,10 年的题目以及11 年保研的题目有空我会再做做,毕竟现在上研了没多少时间研究

这些,祝大家考出个好成绩,支持王道论坛()交大版。

解答请关注我的个人博客。这个PDF 文档里的参考答案不是我给出的,有些代码是是有问题

的,但思路是正确的。

我可能近期内会把历年题目做一个分类,并全部提供一个参考的题解和程序,哪位获得较高

初试分数正在备战复试的同学可以与我联系,binlong@

另外本次重新整理这些题目的时候,基本上都加了一些个人的注解和思路,如果有不对或欠

妥的地方或者你有更好的想法,请你与我联系,谢谢!

靖难()2011 年2 月18

2005 年上机试题

问题1:

网上回忆版的原文如下

太恐怖了,

12 翻一下是21 对吗?

34 翻一下是43 对吗?

12+34 是46 对吗?46 翻一下是64 对吗?

现在给你21 与43 ,把64 输出就可以了。

我猜题目的大概意思是给定整数a,b,若reverse(a)+reverse(b)==reverse(a+b)则输出a+b,否则

输出NO

总之这应该是一道颇为简单的题目,鉴于交大喜欢使用NOIP 原题作为复试题,类似的题目

作为练习我推荐一道NOIP 题目

/Problem_148.html

问题2:

给你一串路径,譬如

a\b\c

a\d\e

b\cst

d\

你把这些路径中蕴涵的目录结构给画出来,子目录直接列在父目录下面,并比父目录向右

缩一格,就象这样

a

b

c

d

E

b

cst

d

同一级的需要按字母顺序排列,不能乱。

为了方便看清题目意思,我划表格表达了一下层次关系。本题其实关键是找到合适的数据结

构来存储

初步思考了一下,可以考虑使用有序的N 叉树来存储,第一层目录的你节点记为0,然后使

用类似于先序遍历的方式来遍历,用一个全局变量来记录当前递归深度,并控制空格数量。

有空我会试写一下代码。

问题3.

回忆版原文如下:

这题听说有点问题。反正大概意思是这样的(除非我理解错了):

有一个x[6][6] 任意的 0<=i,j<=5 1<=x[i][j]<=10;

现在有一个起始位置i1,j1 与一个结束位置i2,j2 。

请找出一条从i1,j1 到i2,j2 的总代价最小的路径。

1. 只能沿上下左右四个方向移动

2. 总代价是每走一步的代价之和

3. 每步(从a,b 到c,d) 的代价是x[c][d]与其在a,b 处状态的乘积

4. 初始状态(在i1,j1 时的状态)是1,每走一步,状态按如下公式变化

(走这步的代价 % 4)+1

也就是状态只有4 种:1,2,3 or 4.

这个问题类似于棋盘遍历或者迷宫问题,可以使用DFS (回溯法)求解,基本的伪代码如下:

全局参数说明:

使用二维数组G 保存棋盘,与回忆版中的x 功能相同

变量x,y 分别表示当前位置

St_x,St_y 表示起始位置

Des_x,Des_y 表示终点位置

二维数组go[0..3,0..1] 中1..4 表示四个方向,0 表示某个方向时x 的变化值,1 表示往某个方

向时y 的变化值

比如go[0][0]表示向右走时x 的增量

Min 记录当前最小代价,二维数组path 用于记录当前最小代价路径

Sum_cost 用于求总代价和

代码如下,使用类pascal:

procedure dfs(k:integer);

var i:integer;

begin

if (x=Des_x) and (y=Des_y) then 如果到达目的地

begin

if sum_cost

begin

min:=sum_cost;

for i:=0 to k-1 do 保存当前最小代价的路径

begin

path[i][0]:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
上海交通大学的C语言复试软件是为了选拔合适的学生进入该校计算机科学与技术专业而设计的。C语言是计算机科学领域中最重要和基础的编程语言之一,懂得C语言的学生通常具备良好的编程基础和逻辑思维能力。因此,通过C语言复试软件,学校可以更准确地评估学生的编程能力和潜力。 C语言复试软件通常是一个在线编程测试平台,学生可以在该平台上完成一系列与C语言相关的编程题目。这些题目可能涵盖C语言的各个重要知识点和编程技巧,例如基本语法、数据类型、循环结构、函数、指针等。学生需要用C语言编写程序解决这些问题,并在规定的时间内提交给评审人员。 通过C语言复试软件,学校可以更全面地评估学生的编程能力和思维方式。评审人员会根据学生提交的代码进行评价和打分,主要考察学生的代码逻辑、可读性、效率和错误处理等方面。除了通过编程题目来评估学生的技术能力外,有些软件还可能包含一些选择题或填空题,用于测试学生对C语言基础知识的理解和掌握程度。 总之,上海交通大学的C语言复试软件是一个对学生进行技术能力评估的工具。同时,它也是一个选拔合适的计算机科学与技术专业学生的有效途径。这个软件可以帮助学校更全面地了解学生的编程能力,从而选择最合适的候选人加入该专业。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值