1 / 81
文档名称:

2012年9月份C语言上机题库.doc

格式:doc   大小:198KB   页数:81页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2012年9月份C语言上机题库.doc

上传人:rdwiirh 2021/3/1 文件大小:198 KB

下载得到文件列表

2012年9月份C语言上机题库.doc

文档介绍

文档介绍:2012年
年年
年3月全国计算机等级考试二级
月全国计算机等级考试二级月全国计算机等级考试二级
月全国计算机等级考试二级C语言上机题库
语言上机题库语言上机题库
语言上机题库(
((
(全
全全
全)
))

1第一套

1. 程序填空
程序通过定义学生结构体数组,存储了若干个学生的学
号、姓名和三门课的成绩。函数fun的功能是将存放学
生数据的结构体数组,按照姓名的字典序(从小到大排
序)。请在程序的下划线处填入正确的内容并把下划线删
除,使程序得出正确的结果。
第一处 struct student t;
第二处 for(i=0;i<n-1;i++)
第三处 if(strcmp(a[i].name,a[j].name)>0)
2 程序修改
:在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<N;i++)
if((a[i].s>=1&&a[i].s<=h)
b[j++]=a[i];
return j;
}
第二套
1. 程序填空
给定程序中已建立一个带有头结点的单向链表,
链表中的各结点按数据域递增有序连接。函数fun的功
能是:删除链表中数据域值相同的结点,使之只保留一
个。
第一处 free(q);
第二处 q=p->next;
第三处 q=q->next;
2. 程序修改
:用选
择法对数组中的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++)
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<n/2;i++)
第二处 a[i]=a[n-1-i];
第三处 a[n-i-1]=t;
2程序修改
:将一
个由八进制数字字符串组成的字符串转换为与其面值相
等的十进制整数。规定输入的字符串最多只能包含5位
八进制数字字符。
/**found**/
n=*p-‘0’;
/**found**/
n=n*8+*p-‘0’;
3. 程序设计
学生的记录由学号和成绩组成,N名学生的数据
已在主函数中放入结构体数组s中,请编写了函数fun,
它的功能是:函数返回指定学号的学生数据,指定的学
生号在主函数中输入,若没有找到指定学号,在结构体
变量中给学号置空串,给成绩置-1,作为函数值返回。(用
于字符串比较的函数是strcmp)。
STREC fun(STREC*a,char *b)
{
STREC c;
Int i;
[0]=’\0’;
=-1;
for(i=0;i<N;i++)
if(strcmp(a[i].num,b)==0)
{strcpy(,a[i].num);
=a[i].s;break;}
return c;
}
第四套
1. 程序填空
给定程序中,函数fun的功能是:在带有头结
点的单向链表中,查找数据域中值为ch的结点。找到后
通过