2013 年9 月全国计算机等级考试二级C 语言上机题库(全) 1 第一套 1. 程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处 struct student t; 第二处 for(i=0;i0) 2 程序修改 给定程序MODI1.C 中函数fun 的功能是:在 p 所指字符串中找出 ASCII 码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。 /**found**/ q=p+i; /**found**/ while(q>p) 3 程序设计 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在 b 所指的数组中,分数范围内的学生人数由函数值返回。 int fun(STREC *a,STREC *b,int l,int h) {int i,j=0; for(i=0;i=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套 1. 程序填空 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun 的功能是:删除链表中数据域值相同的结点,使之只保留一个。 第一处 free(q); 第二处 q=p->next; 第三处 q=q->next; 2. 程序修改 给定程序MODI1.C 中函数fun 的功能是:用选择法对数组中的n 各元素按从小到大的顺序进行排序。 /**found**/ p=j; /**found**/ p=i; 3. 程序设计 请编写一个fun 函数,它的功能是:求出 1 到 m 之间(含 m)能被 7 或 11 整除的所有整数放在数组a 中,通过n 返回这些数的个数。 void fun(int m,int *a,int *n) { int i; *n=0; for(i=7;i<=m;i++) 2013 年 9 月全国计算机等级考试二级 C 语言上机题库(全) 2 if((i%7==0)||(i%11==0)) a[(*n)++]=i; } 第三套 1. 程序填空 函数 fun 的功能是:逆置数组元素是的值。例如:若 a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参 n 给出数组中数组中数据的个数。 第一处 for(i=0;i