ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:33KB ,
资源ID:498176      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-498176.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C语言机试(操作题)模拟试卷247及答案与解析.doc)为本站会员(visitstep340)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C语言机试(操作题)模拟试卷247及答案与解析.doc

1、国家二级 C语言机试(操作题)模拟试卷 247及答案与解析 一、程序填空题 1 程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数 fun的功能是从形参 filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到 filename所指的文件中,覆盖原来的文件内容。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不 得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 #defi

2、ne N 5 3 typedef struct student 4 long sno; 5 char name10; 6 float score3; 7 STU; 8 void fun(char*filename) 9 FILE * fp; int i, j; 10 STU sN, t; 11 *found* 12 fp=fopen(filename, 【 1】 ); 13 fread(s, sizeof(STU), N, fp); 14 fclose(fp); 15 for(i=0; i N-1; i+) 16 for(j=i+1; j N; j+) 17 *found* 18 if(si

3、sno【 2】 sj sno) 19 t=si; si=sj; 20 sj=t; 21 fp=fopen(filename, wb); 22 *found* 23 【 3】 (s, sizeof(STU), N, fp); 24 fclose(fp); 25 26 main() 27 STU tN=10005, ZhangSan, 95, 80, 88, 10003, LiSi, 85, 70,78, 10002, CaoKai, 75, 60, 88, 10004, FangFang, 90, 82, 8 7,10001, MaChao, 91, 92, 77, ssN; 28 int i,

4、 j; FILE*fp; 29 fp=fopen(student dat, wb); 30 fwrite(t, sizeof(STU), 5, fp); 31 fclose(fp); 32 printf ( n nThe original data: n n); 33 for(j=0; j N; j+) 34 printf( nNo: id Name: -8s scores , tj sno, tj name); 35 for(i=0; i 3; i+) 36 printf( 6 2 f, tj scorei); 37 printf( n); 38 39 fun(student dat); 4

5、0 printf(n nThe data after sorting: n n); 41 fp=fopen(student dat, rb); 42 fread(ss, sizeof(STU), 5, fp); 43 fclose(fp); 44 for(j=0; j N; j+) 45 printf( nNo: 1d Name: -8s Scores , ssj sno, ssj name); 46 for(i=0; i 3; i+) 47 printf( 6 2 f, ssj scorei); 48 printf( n); 49 50 二、程序修改题 2 给定程序 MODI1 C中规定输入

6、的字符串全部为字母, fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数 (统计时不区分大小写 ),并将出现次数最高的字母输出 (如果有多个相同,输出一个即可 )。 例如对于字符串: dadbcdbabdb,对应的输出应为: b或 d。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: 1 #include stdio h 2 #include stdio h 3 #include string h 4 void fun(char a) 5 int b26, i, n, max; 6 f

7、or(i=0; i=a ai=A aibi) 20 max=i; 21 printf(出现次数最多的字符是: c n, max+a); 22 23 main() 24 char a200; 25 printf(请输入一个待 统计的字符串: ); scanf( s, a); 26 fun(a); 27 三、程序设计题 3 编写函数 fun,其功能是:根据以下公式计算 s,并将计算结果作为函数值返回, n通过形参传入。 例如,若 n的值为 11时,函数的值为 1 833333。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语

8、句。 试题程序: 1 #include stdlib h 2 #include conio h 3 #include stdio h 4 #include string.h 5 float fun(int n) 6 7 8 9 void main() 10 11 int n; 12 float s; 13 system(CLS); 14 printf( nPlease enter N: ); 15 scanf( d, n); 16 s=fun(n); 17 printf (The result is: f n, s); 18 国家二级 C语言机试(操作题)模拟试卷 247答案与解析 一、程序填

9、空题 1 【正确答案】 (1)rb (2) (3)fwrite 【试题解析】 填空 l:题目中要求从形参 filename所指的文件中读入学生的数据,以此可以看出本空应该填写 rb。 填空 2:此处的 if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写 。 填空 3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。 二、程序修改题 2 【正确答案】 (1)bi =0; (2)bai-a+; (3)if(bmaxbi) 【试题解析】 要统计字符串中每个字符在这个字符串中出现的次数,可以设数组b中存放每个字符出现的次数 b0存放字符 a的次数, b1存放

10、字符 h的次数 。统计之前为数组 b各元素赋初值为 0。然后依次取出字符串的每个字符进行判断,使对应数组 b加 1。 max初始值为 0,与数组 b中的每个元素进行比较,如果小于,就把下标进行交换。 (1)数组 a存放的是字符串,数组 b为整型数组存放的是每个字符的 个数,应将数组 b每个元素初始化为 0。 (2)小写字母的 ASCII码减去 a的 ASCII即为相应字母的下标值,相应下标值的数组元素的值增加 1。 (3)最大值小于被比较数时,把被比较数的下标值赋给 max, max中存放的总是当前最大值。 三、程序设计题 3 【正确答案】 1 float fun(int n) 2 3 int

11、 i, s1=0 ; 4 float s=0 0; 5 for(i=1; i=n ; i+) 6 7 s1=s1+i ; *求每一项的分母 * 8 s=s+1 0 s1; *求多项式的值 * 9 10 return s; 11 【试题解析】 此类计算表达式值的程序,首先需要根据题意分析表达式的规律,得出通项,然后再完成程序语句。 本题中表达式的规律是 1+2+n 的倒数之和,那么可以通过 for循环语句来实现第 1项到第 n项的变化。其实就是累加算法,方法是先根据题目要求定义变量,注意该变量的数据类型,然后对其进行初始化操作,因为该变量的作用是累加器,所以初始值应为 0(或 0 0,根据 变量数据类型来确定 ),再通过 for循环语句来完成累加过程。 本题中 s1用来表示每一项的分母,每一项的分母都是由前一项分母加项数。注意,由于 s1定义成一个整型,所以在 s=s+1 0 s1语句中不能把 1 0写成 1。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1