2012全国计算机二级C语言(C++)上机编程题技巧总结和答案

数据在写入out.dat时,必须以%c=%d\\n的形式输出,其中%c对应ch,即为h,%d对应的是函数的返回值,即为h在字符串中的个数为1。输出的结果为:

其它行依次类推 (6) 保存交卷

第七种类型: 字符串操作四,删除指定字符

1、 题库中对应题目编号:4、12、25、28、35、39、52、55、72、75、85、86 2、 考题举例:以第4题为例

(1) 题目要求:将ss所指字符串中所有下标为奇数位置上的字母转为大写,若该位置不是字母,

则不转换。该类型的题目不难但是必修认真,有耐心!

(2) NONO函数:该题中的NONO函数比较难理解,同学们只需将红色方框里面的语句读懂就行,

具体的将在第四步中介绍。

(3) 在fun函数中输入测试数据,编译,执行,该题函数返回void则无需return语句,出现下

图结果。

(4) 打开in.dat文件

fgets( tt, 50, rf )表示从in.dat中读入一个字符串给tt数组,如果不了解也不要紧,对做题没有太大的影响。

做题时候首先要知道字符的字符的小标是否是奇数,我们可以通过标注数字删除不符合的字符。以第一行为例,将奇数位置的字符改动就行,记住空格占一个字符,在做其它题目时候一定要小心 d s f f d s f d s l j f d s l f d s l j k f s d 0 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 (5) 打开out.dat文件,清空数据。 fprintf( wf, \将tt数组中的字符串修改后进行输出,即将下标是奇数位置的小写字符改为大写字母。

(6) 保存交卷

第八种类型: 结构体

1、 题库中对应题目编号:2、3、16、23、33、51、58、64、68、82、97、98、99 2、 考题举例:以第二题为例(备注第二题是该类型中最典型的例题)

(1) 题目要求:N名学生的数据已经通过主函数存放在s数组中,函数功能是:把指定分数范围

内的学生数据放在b所指的数组中,分数范围内的学生人数由函数返回。(注释:该题不仅仅考查题目中要求的内容,在程序段中有特殊的语句需要执行,所以需要特别注意!)

(2) main函数:该题没有NONO函数,因此以主函数为准。说明main函数:

1)在main函数之前定义了一个结构体STREC,里面有两个成员,分别

表示学号和成绩,该题中一定要认清操作的是学号还是成绩,特别是输出的时候,该类型的题目都拥有相同的考点。

2)在主函数中STREC s[N];定义了一个结构体类型的数组,长度为N,并且为其赋值16个

数据。STREC h[N],tt;FILE *out ;定义了另一个结构体数组h,和结构体变量tt,文件指针。在下图中已经用红色框住的部分需要明白。第一红框到第二个红框之间的部分可以不去理解,对做题没有影响。

3) n=fun( s,h,80,98 );最为关键,结合题目可以知道该句话的含义是:从结构体数组s中

找到80到98之间的所有数据放到结构体数组中。帅选的数据为:

总共8个,题目中说将分数范围内的人数返回,这样可以得知n的值为8 4)fprintf(out,\将n以%d的格式输出到out.dat中

5)为冒泡法排序,旨在将h中

的数据按照分数进行从小到大排序,如果不了解排序过程请参考“注意事项”,结构体数组h中的数据进行从小到大的操作后变为:

6) 表示将排序后h中的数据以4d%\\n的形

>>闂傚倷娴囬褏鎹㈤幒妤€纾婚柣鎰梿濞差亜鍐€妞ゆ劧缍嗗ḿ鐔兼⒑绾懏褰х紒鐘冲灩缁牓宕掗悙瀵稿帾婵犵數濮寸换妯侯瀶椤曗偓閺岋絾鎯旈娑橆伓<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4