2编程题特殊做题方法-类型篇.docx_第1页
2编程题特殊做题方法-类型篇.docx_第2页
2编程题特殊做题方法-类型篇.docx_第3页
2编程题特殊做题方法-类型篇.docx_第4页
2编程题特殊做题方法-类型篇.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试上机考试第三题(程序编写题)做题技巧类型篇声明:1、本文所提供的方法仅供参考,如考生采取本文所述方法进行答题,由于个人原因造成的一切后果,均与本文作者无关。2、本文所述方法虽然经过历次考试验证有效可行,但并不保证在下次考试中仍然可以使用,所以,请务必在万不得以的情况下采取本文所述方法。3、本文所述方法由新视野教育独家研究,转载,请注明出处。如有疑问,请加QQ105311040咨询,若没有及时回复,直接发邮件至105311040。4、本篇以最新版校园网全国计算机等级考试无纸化模拟考试系统(以下简称模拟系统)进行讲解。第一种类型:直接按题目要求修改out.dat文件,如全国计算机等级考试上机考试第三题(程序编写题)做题技巧基本步骤篇,在这里就不再讲了。这是最基本的类型,也是最简单的类型。模拟系统中,以下题目按此方法进行:1、3、8、9、17、19、21、31、33第二类型:结合in.dat文件修改out.dat文件。如模拟系统中第5套题:我们用基本步骤篇中讲解的方法,一直做到打开out.dat文件为止,如下图:到这里,从目前我们掌握的技巧来看,没有办法做,因为,我们仅从out文件没有办法知道N门课的成绩,我们就没有办法得到这些课程成绩的平均分,所以,我们必须找到这N门课程的成绩。方法是,用打开out文件的方法打开in.dat文件(与out.dat文件在同一个文件夹中)。我们认真观察IN文件,我们就会发现很多数据,这就是我们要找到N门课程的成绩,我们再按题目要求对out文件进行修改。修改完成之后,保存,关掉所有已经打开的文件,就可以了。模拟系统中,以下题目按此方法进行:5、4、7、10、11、12(注意此题,既有in文件,程序中也有数据,但是,必须要结合in文件进行修改,只有在没有in文件的情况下,才去程序中找数据)、13、14、15、16、18、20、22、23、24、25、26、27、28、29、30、34、35、36、37、39、40、41、42、43、45、46、47(注意,x的值为in文件中每一行的最后一个数据。从NONO函数中的 for(i = 0 ; i 10 ; i+)这条语句可以看出,每个数组只有10个元素,而in文件中有每一行有11个元素)、48、49、50第三种类型:无法按第一种类型做,也没有in文件,这时,需要去程序中找相关数据。如模拟系统中第2套题:同样,我们按基本步骤篇中的步骤,一直做到打开out文件为止。大家看到out文件之后,会发现,这是一个没有任何规律的数字,我们把-858993460删了。这时,大家首先想到的自然是去找in文件,但是,大家会发现,这个题目根本没有in文件。根据题目的意思,这个题目要按我们这个方法做,我们必须要知道的数据:所有学生的成绩。我们来看程序部分:#include #define N 16typedef struct char num10; int s; STREC;int fun( STREC *a, STREC *b )main() STREC sN=GA05,85,GA03,76,GA02,69,GA04,85,GA01,91,GA07,72,GA08,64,GA06,87,GA015,85,GA013,91,GA012,64,GA014,91,GA011,91,GA017,64,GA018,64,GA016,72; STREC hN; int i,n;FILE *out ; n=fun( s,h ); printf(The %d lowest score :n,n); for(i=0;in; i+) printf(%s %4dn,hi.num,hi.s); printf(n); out = fopen(H:k0124000101out.dat,w) ; fprintf(out, %dn,n); for(i=0;in; i+) fprintf(out, %4dn,hi.s); fclose(out);通过这个程序,再结合题目中的“N名学生的数据已在主函数中放入结构体数组s中”,我们不难发现,学生的成绩就是:GA05,85,GA03,76,GA02,69,GA04,85,GA01,91,GA07,72,GA08,64,GA06,87,GA015,85,GA013,91,GA012,64,GA014,91,GA011,91,GA017,64,GA018,64,GA016,72到目前为止,我们需要的数据所有学生的成绩已经找到了,我们就可以往out文件中写入内容了。可是,我们写什么内容到out文件中呢?到这里,就对我们C语言知识的一些基本功有一定的要求了。在这个地方,大家要记住一定,out文件里的内容,按正常做题方法来看,肯定是由程序实现书写的,只是,我们这个办法,由我们自己代替了程序的工作,我们自己就必须要遵守程序的一些规则。程序实现书写内容到文件当中,自然就是fprintf语句,所以,大家只要去程序中,只要看到fprintf语句,说明fprintf语句后面的输出内容都是要写入到out文件当中去的(我尽量讲得详细,但是,这里仍然不好理解,希望大家认真看,多看两次,能理解上面说的是什么)。回到这个题:第一个:fprintf(out,%dn,n);这条语句是需要输出一个n的值到out文件当中, n=fun( s,h );即n就是函数的返回值,根据题目的意思“函数返回分数最底的学生人数”,我们数一下,最底分数为64分,共有4人,所以n的值为4,所以,我们首先在out文件当中书写一个4,由于有n,所以,还需要回车一下。第二个:fprintf(out,%4dn,hi.s); hi.s就是学生的最底分数,注意输出的时候4d%(具体什么意思,自己去看书),将学生的最底分数按4d%的格式写入到out文件中,注意n,说明每一个分数完了都要换行,包括最后一个。接着往下看,再也没有fprintf语句,说明,已经完了,保存,得分。模拟系统中,以下题目按此方法进行:2、32、38(测试数据为int arrM=5,8,3,90,76,-4,12,82 ;)第四种类型:没有in文件,程序中也没有相关数据,那么他的数据就在程序的运行窗口。如模拟系统中第44套题:同样,我们按基本步骤篇中的步骤,一直做到打开out文件为止。同里,我们把:后面所有的内容都删除掉(包括:与-之间的两个空格)。我们要做这个题,必须要知道所有的人年龄,我们发现,没有in文件,程序中也没有给出相关的数据,其实,我们再运行一下程序,得到黑色的运行窗口,大家就会发现所有人的年龄。这时,我们只需要数0-9之间有多少,10-19之间有多少。就行了。我们来做一个,0-9之间,共有2人,于是,可能很多同学就直接这么写了: 0- 9 :2。这是不对的,同样,大家一定要看清楚输入格式!程序中有这么一条语句:fprintf(wf, %4d-%4d : %4dn, i*10, i*10+9, di) 大家注意看,:的前面的后面都各有两个空格,按输入格式讲的知识,我们知道,空格必须要原样输出的,所以,:与2之间,必须要先敲两个空格;然后,再看4d%,我们知道,还必须有三个空格,所以,:与2之间,应该是5个空格!模拟系统中,以下题目按此方法进行:44第五种类型:没有out文件(第6题)。由于我们没有写代码,所以,可能部分程序没办法正常运行,造成就没有out文件(out文件不是本来就有的,他是在运行的了程序之后才生成的),这种时候,就需要我们手动建立一个out文件,建立方法是:1、 如果说有in文件,复制一下in文件,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论