首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动ma
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动ma
admin
2009-02-15
100
问题
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <alloc.h>
#define N 10
typedef struct SS
{
char num[10];
int s;
}STU;
STU *fun(STU a[],int m)
{
STU b[N],*t;
int i, j,k;
/*************found*************/
*t=calloc(m,sizeof(STU));
for(i=0;i<N;i++)
b
=a
;
for(k=0;k<m;k++)
{
/*************found*************/
for(i=j=0;i<N;j++)
if(b
.s<b[j],s)
j=i;
/*************found*************/
t[k].s=b[j].s;
b[j].s=100;
}
return t;
}
outresult(STU a[],FILE *pf)
{
int i;
for(i=0;i<N;i++)
fprintf(pf,"NO=%S Mark=%d\n",
a
.num,a
.S);
fprintf(pf,"\n\n");
}
main()
{
STU a[N]={{“A01”,77},{“A02”,85},
{“A03”,96},{“A04”,65},{“A05”,75},
{“A06”,96},{“A07”,76},{“A08”,63},
{“A09”,69},{“A10”,78}};
STU *porder;
int i,m;
clrscr();
printf(“*****THE RESULT*****\n”);
outresult(a,stdout);
printf(“\nGive the number of the students who have lower score:”);
scanf(“%d”,&m);
while(m>10)
{
printf(“\nGive the number of the students who have lower score:”);
scanf(“%d”,&m);
}
porder=fun(a,m);
printf(“*****THE RESULT*****\n”);
printf(“The low:\n”);
for(i=0;i<m;i++)
printf(“%s %d\n”,porder
.num,
porder
.s);
free(porder);
}
选项
答案
(1)错误:*t=calloc(m,sizeof(STU)); 正确:t=calloc(m,sizeof(STU)); (2) 错误:for(i=j=0;i<N;j++) 正确:for(i=j=0;i<N;i++) (3) 错误:t[k].s=b[j].s; 正确:t[k]=b[j];
解析
错误1:calloc也用于分配内存空间。调用形式: (类型说明符*)calloc(n,size),功能:在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址,而本题中t定义为指针类型。(类型说明符*)用于强制类型转换。calloc函数与malloc函数的区别仅在于一次可以分配n块区域。例如:ps=(stmet stu*)calloc(2,sizeof(stmct stu));其中的sizeof(stmct stu)是求stu的结构长度。因此该语句的意思是:按stu的长度分配两块连续区域,强制转换为sm类型,并把其首地址赋予指针变量ps。错误2:此循环中,变量i递增。错误3:本题旨在考查对结构体概念的掌握和灵活应用程度。
转载请注明原文地址:https://kaotiyun.com/show/bTID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
中国的英文名称“CHINA”的小写就是“瓷器”的意思,“CHINA”的英文发音源自景德镇的历史名称“昌南”,并以此突出景德镇瓷器在世界上的影响和地位。以下不属于景德镇四大传统名瓷的是()。
亚太经合组织逐步形成了自己独特的合作方式,即“APEC”方式,这一合作方式的内容是()。①承认多样性②强调协商一致③强调互惠互利④强调自主自愿⑤强调灵活性⑥
下列应对自然灾害的做法,错误的是()。
甲挑唆乙(甲、乙均已成年)去打正在熟睡的狗,狗被激怒后追乙,恰巧丙经过,乙便躲在丙的身后,狗将丙咬伤。根据《侵权责任法》的有关规定,下列表述错误的是()。
国际收支平衡表的四部分主要内容中,最基本的项目是()。
某县公安局民警甲在一次治安检查中被乙打伤,公安局认定乙的行为构成妨碍公务,据此对乙处以200元罚款。甲认为该处罚决定过轻。下列哪种说法是正确的?()
王某现年17岁,高二学生,平时创新能力极强,其研究创造的一个小发明获得专利,并且经济价值较高。专利权的申请、使用和由此所获取的收人的处理一概由王某的父亲予以安排,王某的父亲从事的下列各种行为中,违背了《民法通则》规定的监护责任的是()。
张某系某市人民政府办公室工作人员,在2014年年度考核中被定为不称职,张某对该考核结果不服,他可以采取的救济措施是()。
能够根据样本结果推断总体数量特征的调查方式是()。
如图,某三角形展览馆由36个小三角形展室组成,每两个相邻展室(指有公共边的小三角形)都有门相通,若某参观者不愿返回已参观过的展室(通过每个房间至多一次).那么他至多能参观多少个展室?()
随机试题
“仓廪实而知礼节,衣食足而知荣辱”反映了人的需要具有_______。
患者,男,35岁。2小时前因空洞型肺结核致大咯血急诊入院,给予静脉输血治疗,期间出现皮肤潮红、头痛、恶心、呕吐,测体温39.8℃。该患者可能发生
乳牙萌出的顺序是
A.IgGB.IgMC.SIgAD.IgEE.IgD在胎儿体内合成最早
根据《建设工程施工专业分包合同(示范文本)》GF—2003—0213,关于承包人职责的说法,正确的有()。
【2011年】处于衰退期的企业在制定收益分配政策时,应当优先考虑企业积累。()
在筹资效益分析中,影响综合资金成本的因素有()。
小学生情绪情感发展的特点有哪些?
根据哈罗德的分析,如果有保证的增长率等于资本增长率,国民经济将()。
Asetofgenesplayaroleinlearningtoreadanddomath,butthisabilityisnotjustgene-driven,【C1】______schoolingandhel
最新回复
(
0
)