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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C语言机试(操作题)模拟试卷 387及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为: 2、 4、 6、 8、 10,逆置后,从头至尾结点数据域依次为:10、 8、 6、 4、 2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 #include stdlib h 3 #define N 5 4 typedef struct node 5 i

2、nt data; 6 struct node *next; 7 NODE; 8 void fun(NODE *h) 9 NODE *p, *q, *r; 10 *found* 11 p=h- _1_; 12 *found* 13 if(p=_2_)return; 14 q=p- next; 15 p- next=NULL; 16 while(q) 17 r=q- next; q- next=p; 18 *found* 19 p=q; q=_3_ ; 20 21 h- next=p; 22 23 NODE *creatlist(int a) 24 NODE *h, *p, *q; int i;

3、25 h=(NODE *)malloc(sizeof(NODE); 26 h- next=NULL; 27 for(i=0; i N; i+) 28 q=(NODE *)malloc(sizeof(NODE); 29 q- data=ai; 30 q- next=NULL; 31 if(h- next=NULL)h- next=p=q; 32 elsep- next=q; p=q; 33 34 return h; 35 36 void outlist(NODE *h) 37 NODE *p; 38 p=h- next; 39 if(p=NULL)printf(The 1ist is NULL!

4、 n); 40 else 41 printf( nHead); 42 do 43 printf(- d”, p- data); p=p- next; 44 while(p!=NULL); 45 printf(- End n); 46 47 48 main() 49 NODE *head; 50 int aN=2, 4, 6, 8, 10; 51 head=creatlist(a); 52 printf( nThe original list: n); 53 outlist(head); 54 fun(head); 55 printf( nThe list after inverting: n)

5、 56 outlist(head); 57 二、程序修改题 2 给定程序 MODI1 C中函数 fun的功能是:统计字符串中各元音字母 (即: A、E、 I、 O、 U)的个数。注意:字母不分大、小写。例如:若输入: THIs is a boot,则输出应该是: 1、 0、 2、 2、 0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 void fun(char *s, int num5) 3 int k, 2=5; 4 for(k=0; k i; k+) 5 *found* 6

6、 numi=0; 7 for(; *s; s+) 8 i=-1 ; 9 *found* 10 switch(s) 11 case a: case A: i=0; break; 12 casee: caseE: i=1; break; 13 case i: case T: i=2; break; 14 case o: case0: i=3; break; 15 caseu: caseU: i=4; break; 16 17 if( =0) 18 numi+; 19 20 21 main() 22 char s181; int num15, i; 23 printf( nPlease enter

7、a string: ); gets(s1); 24 fun(s1, num1); 25 for(i=0; i 5; i+)printf( d, num1i); printf( n); 26 三、程序设计题 3 请编写一个函数 fun,它的功能是: 计算 n门课程的平均分,计算结果作为函数值返回。 例如:若有 5门课程的成绩是: 90 5, 72, 80, 61 5, 55。则函数的值为:71 80。 注意:部分源程序存在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 1 #include stdio h 2 float

8、 fun(float *a, int n) 3 4 5 main() 6 float score30=90 5, 72, 80, 61 5, 55, aver; 7 void NONO(); 8 aver=fun(score, 5); 9 printf( nAverage score is: 5 2f n, aver); 10 NONO(); 11 12 void NONO() 13 *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * 14 FILE *fp, *wf; 15 int i, j; 16 float aver, score5; 17 fp=fopen(in dat

9、 r); 18 wf=fopen(out dat, w); 19 for(i=0; i 10; i+) 20 for(j=0; j 5; j+)fscanf(fp, f, , scorej); 21 aver=fun(score, 5); 22 fprintf(wf, 5 2f n, aver); 23 24 fclose(fp); 25 fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 387答案与解析 一、程序填空题 1 【正确答案】 (1)next (2)0或 NULL (3) r 【试题解析】 函数 fun的功能是将带头结点的单向链表逆置。第一空: “p=h-_1_;

10、对结点 p进行初始化,由审题分析可知, p初始化为链表的第二个结点,即 p- next,故第一空处应为 “next”。第二空: “if(p=_2_)return; ”如果链表只有一个结点,无需逆置,即第二空处为 “0”或 “ 0”或 “NULL”。第三空:循环内完成结点的指针指向前一个结点, “r=q- next; ”r已经指向 q的下一个结点, “q- next=p; ”将 q结点指向链表的前一个结点, “p=q; ”是将 p结 点往后移动一个结点位置,第三空处是 q结点往后移动一个结点位置,即第三空处为 “r”。 二、程序修改题 2 【正确答案】 (1)numk=0; (2)switch

11、s) 【试题解析】 (1)第一个标识下的 for循环过程是将 num数组中的变量初始值设置为 0,用来统计每一个元音字母出现的个数, for循环中的循环条件表达式中的变量是 k,所以第二个标识下 “numi=0; ”改为 “numk=0; ”。 (2)第二个标识下的 switch-case条件选择的功能应该是对 s指针指向的字符串中的每一个 字符进行判断,不应该是 s的数组名,所以第三个标识下 “switch(s)”改为“switch(*s)”。 三、程序设计题 3 【正确答案】 1 int i; 2 float ave=0 0; 3 for(i=0; i n; i+)ave=ave+ai; 4 ave=ave n; 5 return ave ; 【试题解析】 (1)在函数中首先定义平均分的变量,并将其初始化值置为 0。 (2)然后在 for循环中,求得所有成绩的总分,并在总分的基础上求得平均分。

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