本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2014年全国计算机等级《二级C语言程序设计》上机考试冲刺试题(2)
1、【 简答题
给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。
例如,当score=(10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40)。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include<2 stdio.h>
#include<2string.h>
int fun(int score[],int m,int below[])

int i,j=0;
float aver=0.0;
for(i=0:i<2m;i++)
aver+=score[i];
aver/=(float)m;
for(i=0:i<2m;i++)
if(score[i]<2aver)
below[j++]=【1】;
return j;
}
void main()
{
int i,n,below[9];
int score[9]={10,20,30,40,50,60,70,80,90);
n=fun(score,9,【2】);
printf(”\n Below the average score are:%d\n”,n);
for(i=0;i<2n;i++)
printf(”%d”,【3】);
} [18分]
解析:
[1]sCorE[i]或*(sCorE+i)[2lBElow[AlBElow[i]或*(BElow+i)
2、【 简答题
下列给定程序中,函数proc()的功能是:从字符串str中,删除所有大写字母'F'。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
void proc(char*str)
{
int i,j;
//****found****
for(i=j=0;str[i]!='0';i十十)
if(str[i]!='F')
//****found****
str[j]=str[i];
str[j]='\0';
}
void main()
{
char str[80];
printf(”\nEnter a string:”);
gets(str);
printf(”The original string:”);
puts(str);
proc(str);
printf(”The string after deleted:”);
puts(str);
printf(”\n\n”);) [24分]
解析:
(1)错误:For(i=j=0;str[i]!=70’;i++)正确:For(i=j=0;strEi]!=’\o’;i++)(2)错误:str[j]=str[i];正确:str[j++]=str[i];
3、【 简答题
M名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数proc()。它的功能是:找出学生的最高分,由函数值返回。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#define M 8
struet slist
(double S;
slrucl Mist*next;
);
typedef struct slist STREC:
double proc(STRgC*h)
(
}
STREC*creeli(double*S)
{
STREC *h,*p,*q;
int i=0;
h=p=(STREC*)malloe(sizeof(STREC));
p->s=0:
while(i<M)
/产生8个节点的链表,各分数存入链表中
{ q=(STREC*)malloc(sizeof(STREC)):
p->s=s[i];++ p->next=q;p=q;
}
p->next=NULL:
return h;//返回链表的首地址
}
void outlist(STREC*11)
{
STREC *p;
p=h;
printf(”head”);
do
{
printf(“->%2.0f”,p->s);p=p-2>next;)
//输出各分数
while(p->next!=NULL):
print[(”\n\n”);
)
void main()
{
double stu[M]={60,70,80,90,65,75,85,95,
max:
STREC * h:
h=ereat(stu);
oullist(h):
max=proc(h):
printf(”max=%6.1f\n”,max):
) [18分]
解析:
*h)
{
>;
while(h!=NULL)//断其是否为终结点
{
if(max<h->s)max=h一>s;把大的数放到中
h=h->next:}
最后通过返回值返回到主函数中
首页 12
2页,共43个题库
2页,共43个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169