分享

再发一个重磅炸弹!HIT复试机试编程题的解题步骤(超详细)

 青山琴弦一挥年 2018-05-07
本帖最后由 guoyiwei111 于 2012-3-25 08:19 编辑

HIT复试机试编程题的解题步骤

做题前需要知道的:

1,
HIT机试的编程题评测方法与我们平常用的OJ是不一样的。平时的OJ用的是黑盒测试法。给出多组用例。然后用这些用例生成的答案与标准答案对比。然后给出评测结果。而HIT机试编程用的评测机评测原理为:先用你的代码去生成标准答案,与标准答案进行比较。然后可能还要进行代码的分析(我估计的原理就是通过和标准程序的结构做比较然后给出分数)。一般如果你在本地运行成功,提交之后分数基本上都是满分或者稍微扣掉0.X分。如果你的代码生成的结果与标准答案不一致(也就是格式出错)会扣一定的分数,具体是多少我当时没法试验。。。还有一种就是结果完全不一致,评测系统也不会给你判0分。

2,
HIT机试时编程题的用例只有一个,所以不用判定EOF

3,
机试的IDE vc6.0 codeblockswintc。。。 基本上常用的都给了。建议大家熟悉一下codeblocks。非常好用。而且调试的时候比较方便。可以在创建时选择c代码(vc6.0没法默认创建.c文件,你要是写成了c++格式的,提交的代码可能会编译出错倒置丢分。Wintc没法调试)codeblocks的调试方法http://www./thread-80781-1-1.html 中的第三课

4,
机试系统的界面大概如下图所示



到时候老师会告诉你怎样生成试卷    试卷》生成试卷-》输入姓名和序号,确认后,在题目区就可以看到试题了。上面的图是编程题的结构。描述区的东西一定要看仔细,特别是每道题的输入输出,如果出错会扣分的。

代码编写好后需要将代码粘贴到代码区,然后点保存代码。然后点编译代码。如果提示0Error,这道题编译就通过了。(一般你要是用codeblocks编辑的,只要IDE上能运行。就没有编译出错这种情况,但为了保险起见,还是点一下的好)

5,
当所有题目做完以后,点击试卷->提交试卷,他会让你确认一下。点确认后会出来编程题的成绩,点详细的时候,可以看到每到选择题的成绩。自己数数吧。激动人心的时刻啊。。。直接出分,跟考驾照一样。。。



下面将结合12年的真题给大家讲一下输入输出注意的地方和标准格式(代码回复后可见!)

1,
百万富翁 具体的题可以到相关的复试帖子里面找到 由于是回忆版,内容不全,而且有一段英文的输出忘了具体咋写了。我就用我不咋地的英文代替原文了。大家将就着看。

题目补充:输出格式为 “The rich man need give you : %8ld yuan\n”



“You need give the rich man : %8ld yuan\n”

好像是这么给的。

题目分析:主要是格式控制。注意观察格式特点。用的是%8ld 所以理论上用long 型,当然了用int也行。在敲输入格式时最好把代码粘贴到源代码中,以防自己出错!比如短了空格。多蛋疼,浩?还有一点需要注意的是:工大的评测机不只是检查结果。有些同学就直接把答案输出了。这样在执行代码审查时会扣分。很冤枉的。比如直接写printf(“You need give the rich man : %8ld yuan\n”,XXXXX);//XXXX为某一数值。

而没有写循环。那么可能会扣分的!

代码:

游客,如果您要查看本帖隐藏内容请回复

2,
矩阵计算 ,也有一个格式控制,忘了英文是啥了,我就瞎回忆一个吧

在输入第一个矩阵前显示 “Please enter the first 2X3 matrix:\n”

在输入第二个矩阵前显示 “Please enter the second 3X2 matrix:\n”

在输出结果前显示 “The result 2X2 matrix:\n”

输出为 %8d

分析:最主要的明白此题的意思,肯定有n个循环。别想懒省事。最好写成循环,以免在细节上扣分。记得输出时
%8d ,
还有每行得换行

代码:

游客,如果您要查看本帖隐藏内容请回复

3,
自己写一个StrCat 函数 并调用之,实现string.h strcat的功能。

要求 MyStrcat(char dstStr[],char srcStr[])

srcStr接到dstStr后面,字符最大长度80个字符。并编写一个主程序实现输出合并后串的程序

格式要求,输入第一个串之前显示 “Please enter the resourse string:\n”

          输入第二个串之前显示 “Please enter the destination string:\n”



输出合并后的字串之前显示 “The result:\n”


         字符串中可能有空格

分析:本题要注意的地方1,80个字符,一定要分配够!因为字符串结尾有一个\0 所以要分配81个以上!而且因为要合并字串,所以dstStr长度要超过160。仔细想想为啥吧。。。而且字符可能有空格哦!所以用%s 不行了,只能用gets或正则了。一定要仔细分析所有的条件!

代码:

游客,如果您要查看本帖隐藏内容请回复

写在最后:

编程题不难,但一定要细心!如果做到了你的分数肯定不会低。上面的代码是回忆着写的,没验证,估计不会有多大问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多