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

上传人:registerpick115 文档编号:498333 上传时间:2018-11-28 格式:DOC 页数:6 大小:34KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷389及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷389及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷389及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷389及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷389及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 389及答案与解析 一、程序填空题 1 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数 fun的功能是:把形参 x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 #include stdlib h 3 #define N 8 4 typedef struct list 5

2、int data; 6 struct list *next; 7 SLIST; 8 void fun(SLIST *h, int x) 9 SLIST *p, *q, *s; 10 s=(SLIST *)malloc(sizeof(SLIST); 11 *found* 12 s- data= _1_; 13 q=h; 14 p=h- next; 15 while(p!=NULL x p- data) 16 *found* 17 q=_2_; 18 p=p- next; 19 20 s- next=p; 21 *found* 22 q- next=_3_; 23 24 SLIST*creatli

3、St(int *a) 25 SLIST *h, *p, *q; int i; 26 h=p=(SLIST *)malloc(sizeof(SLIST); 27 for(i=0; i N; i+) 28 q=(SLIST *)malloc(sizeof(SLIST); 29 q- data=ai; p- next=q; p=q; 30 31 p- next=0; 32 return h; 33 34 void outlist(SLIST *h) 35 SLIST *p; 36 p=h- next; 37 if(p=NULL)printf( nThe list is NULL! n); 38 el

4、se 39 printf( nHead); 40 do printf(- d, p- data); p=p- next; while(p!=NULL); 41 printf(- End n); 42 43 44 main() 45 SLIST *head; int x; 46 IntaN=11, 12, 15, 18, 19, 22, 25, 29; 47 head=creatlist(a); 48 printf( nThe list before inserting: n); outlist(head); 49 printf( nEnter a number: ); scanf( d, x)

5、; 50 fun(head, x); 51 printf( nThe list after inserting: n); outlist(head); 52 二、程序修改题 2 给定程序 modi1 c的主函数中,将 a、 b、 c三个结点链成一个 单向链表,并给各结点的数据域赋值,函数 fun()的作用是:累加链表结点数据域中的数据作为函数值返回。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 1 #include stdio h 2 typedef struct list 3 int data; 4 str

6、uct list *next; 5 LIST; 6 int fun(LIST *h) 7 LIST *p; 8 *found* 9 int t; 10 p=h; 11 *found* 12 while(*p) 13 14 *found* 15 t=t+p data; 16 p=(*p) next; 17 18 return t; 19 20 main() 21 LIST a, b, c, *h; 22 a data=34; b data=51; 23 c data=87; c next= 0; 24 h= a; a next= 17 printf(The top: s, d n, m num,

7、 m s); 18 NONO(); 19 20 NONO() 21 *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * 22 FILE *rf, *wf; 23 STU a N, m; 24 int i; 25 rf=fopen(in dat, r); 26 wf=fopen(out dat, w); 27 for(i=0 ; i 10; i+) fscanf(rf, s d, ai num, ai s); 28 fun(a, 6 *s=aj; 【试题解析】 该程序功能是求最高分数的学生。本题是关于求 解结构体中某些成员的最大值,首先将第一个值设定为最大值,并在循环中将其他所有值与该值进行比较,求得最大值。然后将最大值与所有值进行比较,求得所有的最大值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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