本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2014年全国计算机等级《二级C语言程序设计》考前押密试题(3)
1、【 简答题
请补充main()函数,该函数的功能是:输入两个正整数numl和num2,求这两个数的最大公约数和最小公倍数。
例如,若输人的两个正整数为12,4,则它们的最大公约数为4,最小公倍数为12。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
void main()
{
int a,b,numl,num2,t;
system(”CLS”):
printf(”\nlnput tWO numbers:\n”);
scanf(”%d,%d”,&numl,&num2);
if(numl<NUM2)
{
a=num2;
b=numl;
}
else
{
a=num1:
b=num2:
)
while(【1】)
{
t=【2】
a=b;
b=t;
}
printf("greatest common divisor:
%d\n”,a);
printf(”least common multiple:
%d\n”,【3】); [18分]
解析:
【1】B!=0 【2】A%B 【3】numl*num2/a
2、【 简答题
下列给定程序中,函数proe()的功能是:对M名学生的学习成绩,按从高到低的顺序找出前m(m<10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include%stdlib.h>
#include
#include
#include
#include%malloe.h>
#define M 10
typedef struct ss
{
char num[10];
int s;
}
STU;
STU *proc(STU a[],int m)
{
STU b[-M],*t;
int i,j,k;
//****found****
*t=calloc(m,sizeof(STU));
for(i=0;i
for(k=0;k<M;K++)
{
for(i=j=0;i<M;I++)
if(b[i].s>b[j].s)j=i;
//****found****
t[k].num=b[j].num;
t[k].s=b[j].S;
b[j].s=0;
}
return t:
}
void outresuh(STU a[],FILE *pf)
f
int i;
for(i=0;i<M;I++)
fprintf(pf,”No=%s Mark=%d\n”,
a[i] mum,a[i].s);
fprintf(pf,”\n\n”);
)
void main()
{STU stu[M]={{¨A01”,81},{¨A02”,89},
{¨A03”,66},{”A04”,87),{”A05”,77),
{”A06”,90),{"A07”,79),{”A08”,61),
{”A09”,80},{”A10”,71));
STU+pOrder;
int i,m;
system(”CLS”);
printf(”****THE RESULT****\n”);
outresuh(stu,stdout);
print{(”\nGive the number of the students
who have better score:”);
scanf(”%d”,&m);
while(m>10)
printf(”\nGive the number of the
students who have better score:”);
scanf(”%d”,&m);
}
p()rder=proc(stu,m);
printf(”****THE RESULT****\n”);
printf(”The lop:\n”);
for(i=0:i<M:I++)
printf(”%s%d\n”,pOrder[i].hum,
pOrder[i].s);
free(pOrder);
) [24分]
解析:
(1)错误:*t=EAlloC(m,sizEoF(STU)); 正确:t=(struCtSS*)CAlloC(m,sizEoF(STU));(2)错误:t[kJ.num=B[j].num; 正确:t[k]-h[j+;
3、【 简答题
学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
# include
#define M 16
typedef s truct
{
char num[10];
inl S;
)
STREC;
void proc(STREC a[])
int i,j;
STREC t;
for(i=1;i<M;I++)&NBSP; *用冒泡法按从高到低
排序*/
for(j=0;j<M-1;J++)
if(a[j].s
的记录,高分在前*/
{t=aEP;a[j]=a[j+1];a[j+1]=t;}
}
void main ()
{
STREC,sluEM]={{ ”GA005”,85),{¨GA003”,
76},
{”GA002“,69},{¨GA004”,815}.{¨GA001”,91},
{"GA007”,72},{“GA008”,64),{"GA006”,87},
{¨GA015”,85},i”GAO13”,91},{”GA012”,64},
{"GA014”,91},{”GA011”,66},{¨GA017”,64},
{”GA018”,64},{¨GA016”,72}};
in/i;
proc(stu):
prinlf(”The data afwr sorted:\n”);
for(i=0;i<M:I++)
{
if(i%4==0)
//每行输出4个学生记录
printf(”\n”);
printf(”%sM”,stu[i].num,stu[i].s);
}
printf(”\n”):
} [18分]
解析:
voiDproC(STRECA[]){
inti,j;
STRECt;
for(i=1;i<M;i++)//用冒泡法按从高到低排序
for(j=0;j%M-1;j++)
if(a[j].s<a[j+1].s)//按分数的高低排列学生的记录,高分在前
{t=a[j];arj]=a[j+1];a[j+1]=t;)
首页 12
2页,共43个题库
2页,共43个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169