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

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

1、国家二级( C语言)机试模拟试卷 184及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include typedef struct int num; char name10; PERSON; /*found*/ void fun(PERSON 【 1】 ) /*found*/ 【 2】 temp; if(std0.numstd1

2、.num) temp=std0; std0=std1; std1=temp; if(std0.numstd2.num) temp=std0; std0=std2; std2=temp; if(std1.numstd2.num) temp=std1; std1=std2; std2=temp; main() PERSON std= 5,“Zhanghu“,2,“WangLi“,6,“LinMin“ ; int i; /*found*/ fun(【 3】 ); printf(“nThe result is :n“); for(i=0; i #include typedef struct aa in

3、t data; struct aa *next; NODE; NODE *Creatlink(int n, int m) NODE *h=NULL, *p, *s; int i; /*found*/ p=(NODE )malloc(sizeof(NODE); h=p; p-next=NULL; for(i=1; idata=rand()%m; s-next=p-next; p-next=s; p=p-next; /*found*/ return p; outlink(NODE *h) NODE *p; p=h-next; printf(“nnTHE LIST :nn HEAD “); whil

4、e(p) printf(“-%d “,p-data); p=p-next; printf(“n“); main() NODE *head; head=Creatlink(8,22); outlink(head); 三、程序设计题( 40分) 3 已知学生的记录由学号和学习成绩构成, N名学生的数据已存入 a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数 (规定只有一个最低分 )。 注意:部分源程序存在文件 PROGl C文件中。 请勿改动主函数 main和其他函数中的任何内容。仅在函数 fun的花括号中填入你编写的若干语句。 #include #in

5、clude #define N 10 typedef struct ss char num10; int s; STU; void fun(STU a, STU *s) main() STU aN=”A01”, 81, ”A02”, 89, ”A03”, 66, ”A04”, 87, ”A05”, 77, ”A06”, 90, ”A07”, 79, ”A08”, 61, ”A09”, 80, ”A10”, 71, m; int i; void NONO(); printf (”*The original data * n”); for(i=0; istd1.num)”可知形参名为 std,故第

6、一空处应为 “void fun(PERSON *std)”。 第二空: temp变量用来进行交换时临时保存变量值,由 “temp=std0;”可知 temp是 PERSON结构体变量,故第二空处的 temp结构体定义应为 “PERSON temp;”。 第三空:这里是调用 fun函数, fun函数的参数是结构体变量指针, std是结构体数组,数组名相当于数组的首地址,故第三空处应为 “fun(std);”。 二、程序修改题( 30分) 2 【正确答案】 p=(NODE *)malloc(sizeof(NODE); return h; 【试题解析】 ( 1)第一标识下 “p=(NODE )mal

7、loc(sizeof(NODE);”, maclloc函数 的返回类型是 void* 类型,表示未确定类型的指针,因此需要指针类型转换,而“(NODE )”不是指针类型,故第一标识下应改成 “p=(NODE *)malloc(sizeof(NODE);”。 ( 2)第二个标识下,最后将单链表返回,应该是返回头指针 h指向的链表,而不是其中的一个节点 p,所以 “return p;”应该改为 “return h;”。 三、程序设计题( 40分) 3 【正确答案】 int i, min=a0 s, j=0; for(i=1; iai s) *7如果最低分 min 仍大于当前分 * j=i; *记住位置 * min=ai s; *把当前分赋值给 min* *s=aj; 【试题解析】 (1)首先指定第一个成绩为最低分数。 (2)再使用一个 for循环把所有的成绩进行比较,找出最低的分数来。

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

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

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