计算机二级C语言机试特殊方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C语言机试特殊方法
---- 转载来源不明部分修改这里的特殊方法只能用于编程题,且看不懂程序也能得分,甚至得满分,嘿嘿,不错吧!我们要对这种方法的原理有一个清晰的认识,这样才能举一反三,事半功倍。
下面通过例子来详细介绍这种方法。
一、简单情况
首先看一下上机环境的界面,如下图:
注意,c:\k01\24010001是考生文件夹的路径,接下来的工作就是围绕这个文件夹展开的。开始考试,由系统抽好题目后,单击“程序编写题”,仔细阅读题目,明确题目要我们做什么后,点击窗口左上方的“答题”,在下拉菜单中选择程序编写题,这时会打开VC6.0的程序界面,一大段繁杂的程序很无奈吧,别急,下面开始干活了。
首先点击中的图标编译程序,此时图标就被激活了,点击此图标运行程序(至于为什么要这么做,下面你就会知道的),出现如下图所示的窗口
,大家可以看到,程序要求你输入m的值,随便输入一串字符后回车,然后随便按个键后这个窗口会关闭,以上步骤是做每道编程题前都必须做的,请大家谨记!
准备工作做好后,接下来进入考生文件夹,会看到in.dat和out.dat两个文件,我们就要对它们做手脚。首先用记事本打开in.dat文件,如图所示:
大家看第一行文字:3 ABCDEFGHIJK,一开始看不懂这是啥意思,那么看看题目的要求吧:
看出点啥没有?文字中的“3”代表的是m的值,即把第一到第三个字符“ABC”平移到字符串的最后,看例子也知道,“3”后面的字符串就是我们所要处理的对象。打开out.Dat文件,如图所示
,看到第一行的字符串,它就是对应in文件中的第一行的内容,根据题目要求,把out文件中的第一行文字改为“DEFGHIJKABC",以此类推,下面每一行都是对应in文件中的每一行的,按上述方法完全修改完毕后,保存并关闭记事本。
(特别注意,完成修改后不要再运行程序,否则我们所做的工作就都泡汤了!!!)
好了,交卷走人吧,你已经拿到了编程题的40分,只要前面再做对2个空你就通过了,哈哈,很爽吧!大部分的题目都可以用这种方法做,只要你对题目的意思明白的话就行了。
二、复杂情况
有些题目的答案需要以正确的格式出现才能得分。举一个例子,题目如下图所示:
看完题目后,照往常一样,运行程序,打开考生文件夹,打开in.dat文件,我们看到从
NUM01~NUM10的学生编号以及成绩,知道题目是要找出成绩最低的学生记录,于是打开out.dat文件,
如图所示,这里多出了很多奇怪的符号,但是又似乎明白,是不是将NUM0I改为in.dat文件中的NUM06,然后后面的数字改为其成绩23就可以了呢?非也!这时需要注意答案的格式,应改为如下图所示的文字,将原有文件内容中的一连串烫字删掉,将01改为06,将后面的数字改为23,注意要和原文件的格式保持一致,NUM06和数字前都有一个空格,这些只要注意了就不会弄错。
上面的例子还是常规的,大部分题目比这要复杂,需要小心应付,只要心细,也不是难事。
下面举一个稍微复杂的题目,如下图所示
读懂题目后,运行程序,进入考生文件夹,打开in文件,看到不少数字,且每个数用空格隔开,然后打开out文件,依照题目要求,将in文件中的所有数都保留2位小数后填入out文件中,如下图1所示,果真是这样吗?肯定不是了,不然怎么叫复杂呢?大家千万不要被题目中的例子所迷惑,那到底哪里不对呢?从别的地方也得不到相关的格式信息啊!这里教大家一种非常有效的方法,可以防止被这种题目忽悠住。大家看看题目的源程序,注意如下图3所示的内容
图1 图2 图3
注意这个NONO函数,看到这一行“fprintf(wf, "%f\n", fun(a)) ;”,知道这是输出函数,里面的参数中有个“%f”的格式输出,即输出实型量,也就是小数点后保留6位数字,可见这句内容与我们的答案格式有密切的联系,于是联系前面我们所做的工作,知道问题出在哪了吧?没错,应该把in文件中的每个数保留6位小数后,填入out文件中,如上图2所示,这样才是正确答案。
大家通过这一题知道,当你对答案的格式不了解时,要从源程序中找答案,即找到NONO函数,查找里面的信息,然后就可以知道答案的具体格式了。
在此对于这类需要注意答案格式的题目做出以下总结:
1、常规的题目只需要结合in文件和out文件中内容的格式即可得出正确的答案格式。
2、对于像上题这种特殊的题型,千万不要结合题目中的例子,而是要回归到源程序,找NONO函数,根据其中的一些信息得出答案的正确格式。
3、像这类特殊题型,源程序中都会有NONO函数,大家不用担心。
4、大家只需要关注NONO函数中的有关输入和输出的语句,语句中的输入输出格式控制符就是关键,稍加思考后即可得出正确的答案格式。
三、特殊情况
下面来介绍编程题中的特殊题型,这里的特殊是指让你无从下手。大家来看这个题目:
看懂题目的意思后,运行程序,进入考生文件夹,发现有啥不对劲的没有?没有in.dat文件啊!这可怎么办?in.dat文件是我们获取题目要我们处理的数据的必须,没有了in.dat文件还谈何做题。别急,天无绝人之路,还是需要回到源程序中,看到源程序中有这么一段内容
大家应该能猜出点啥了吧?没错,这就是题目要我们处理的数据,每一个花括号中的前面的编号就是每个学生的编号,后面的数字就是每个学生的成绩。知道了这些,我们就可以动手了。这里又出现了一个复杂的格式问题,题目中要求我们输出平均分,还要把低于平均分的学生人数和他们的成绩也求出来,那么这到底要怎么填入out文件中呢?
还是看源程序,看到main函数,注意这段内容
out文件内容容易知道答案的格式是先输出低于平均分的学生人数n(整形),换行后输出平均分(总位数为7,保留三位小数的实型),再换行后按源程序中给出的数据的顺序输出所有低于平均分的学生成绩(总位数为4,保留一位小数的实型),这样就可以在out文件里填入如上图的内容了,这道题就这样完成了,感觉有些难吧!但是这样的题目毕竟是少数啊,就算抽到这一题了,你不是也会了吗?
最后,我们来介绍编程题中的特殊中的特殊,这是最究极的难啊!也只有一题,一般不会这么倒霉的,看题吧。题目如图所示