首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:
下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:
admin
2020-10-21
88
问题
下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行。也不得更改程序的结构!
试题程序:
#include
#include
#include
#include
#include
#define N 10
typedef struct ss
{
char hum[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
b
=a
;
for(k=0;k
{
for(i=j=0;i
if(b
.s>b[j].s)
j=i;
/*********found*********/
t[k].nHm=b[j].hum;
b[j].s=0;
}
return t;
}
outresult(STU a[],FILE*pf)
{
int i;
for(i=0;i
fprintf(pf,"No=%s Mark
=%d\n",a
.num,a
.s);
fprintf(pf,"\n\n");
}
void main()
{
STU a[N]={{"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 Original
data****\n");
outresult(a,stdout);
printf("\nGive the number of the
students who have better score:");
scanf("%d",&m);
while(m>10)
{
printf("\nGive the num
ber of the StudentS who have
better score:");
Scarlf("%d",&m);)
pOrder=fun(a,m);
printf("****THE RESULT****\n");
printf("The top:\n");
for(i=0;i
printf("%s%d\n",
pOrder
.num,pOrder
.s);
free(pOrder);
}
选项
答案
(1)t=calloc(m,sizeof(STU)); (2)t[k]=b[j];
解析
(1)calloc应用于分配内存空间。调用形式为(类型说明符木)calloc(n,size),功能:在内存动态存储区中分配n块长度为“size”字节的连续区域,函数的返回值为该区域的首地址,(类型说明符*)用于强制类型转换。ca]los函数与malloc函数的区别在于calloc函数一次可以分配n块区域。例如,ps=(struct stu*)calloc(2,sizeof(struct stu));,其中的sizeof(struct stu)是求stu的结构长度。该语句的意思是:按stu的长度分配两块连续区域,强制转换为stu类型,并把其首地址赋予指针变量ps。在本题中不用考虑那么复杂,根据定义类型STUb[N],*t;就可以看出*t=calloc(m,sizeof(STU))中的错误,变量t少*号。
(2)t[k].hum=b[j].num;的错误旨在考查对结构体概念的掌握和灵活应用程度。
转载请注明原文地址:https://kaotiyun.com/show/Hkyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
有如下类定义:classB{public:voidfunl(){}private:voidfun2(){}protected:voidfun3(){}};classD:public
有如下程序:#includeusingnamespacestd;classTV{public:Tv(ints=41):size(s){}voidPrint(){cout
下列运算符函数中,肯定不属于类Number的成员函数的是()。
下面是重载为非成员函数的运算符的函数原型,其中错误的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1********后
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使该程序输出倒9×9口诀。程序分析:分行与列考虑,共9行9列,设置两个变量i和i,i控制行,j控带0列。程序运行结果如下:1*9=92*9=183
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:OK注意:错误的语句在//******error******的下面,修改该语句即可。#include<iostre
数据库设计中反映用户对数据要求的模式是()。
随机试题
某建设项目业主与甲施工单位签订了FIDIC条件下的施工承包合同,合同中保函手续费为40万元,合同工期为500d。合同履行过程中,因不可抗力事件发生致使开工日期推迟50d,因不可预见的外界条件停工20d,因异常不利的气候条件停工15d,因季节性大雨停
污水管道闭水试验应符合的要求有()。
一位教师在讲授“油脂”之前,先让学生回忆高级脂肪酸的定义、甘油的结构、酯的通式及其性质,然后引导学生学习油脂的结构和性质。该教师这样处理的目的主要是()。
下列关于网络信息资源的特点的说法错误的是()。
以下说法不正确的是()。
研究人员挑选了600多名学生,让他们在屏幕背景分别为红蓝两色的电脑上接受测试。结果用红色背景电脑的人在记忆、校对等准确性测试方面得分较高,而使用蓝色背景电脑的人则表现出了更出色的想象力和创造力。2004年夏季奥运会上,穿红色服装的运动员在拳击、跆拳道、摔跤
庐山会议
中国第一个资产阶级革命组织是
全国人民代表大会的立法程序有
Formyproposedjourney,thefirstprioritywasclearlytostartlearningArabic.Ihaveneverbeenalinguist.ThoughIhadtr
最新回复
(
0
)