首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2015-12-22
68
问题
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
#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=(STU*)calloc(sizeof(STU),m)
for(i=0; i
=a
;
for(k=0;k
{ for(i=j=0;i
if(b
.s>b[j].S)j=i;
/**********found**********/
t(k)=b(j);
b[j].s=0;
}
return t;
}
outresult(STU a[],FILE *pf)
{ int i;
for(i=0; i
fprintf(pf,"No=%s Nark=%d\n",
a
.num,a
.s);
fprintf(pf,"\n\n");
}
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;
printf("*****The Original data*****\n"),
outresult(a,stdout);
printf f"\nGive the number of the
students who haye better score:");
scanf("%d",&m);
while(m>10)
{printf("\nGive the number of the
students who have better score:");
scanf("%d",&m);
}
porder=fun(a,m);
printf("*****THE RESULT *****\n");
printf("The top:\n");
for(i=0; i
printf("%s %d\n",porder
.
hum,porder
.s);
free(porder);
}
选项
答案
(1)t=(STU *)calloc(si zeof(STU),m); (2)t[k]=b[j];
解析
(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t=(STU*)calloe(sizeof(STU),m)”语句没有使用分号“;”结束,因此需要在语句结尾处加分号。calloc函数是C语言的动态分配函数,分配存储空间。
(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]”而不是元括弧“()”,因此第二标识下应改成“t[k]=b[j];”。
转载请注明原文地址:https://kaotiyun.com/show/RXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{1
有以下程序:voidsum(inta[]){a[0]=a[-1)+a[1];}main(){inta[10]=(1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d
有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"},*p=str;printf("%d\n",strlen(p+20)
当变量c的值不为2、4、6时,值也为“真”的表达式是
数据库设计包括两个方面的设计内容,它们是
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是【】。structnode{chardata;structnode*next;}a,b
软件工程研究的内容主要包括:【】技术和软件工程管理。
数据库设计分为以下6个设计阶段:需求分析阶段、【】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
随机试题
女性,68岁,因右腿外展型股骨颈骨折入院,拟行保守治疗。在牵引过程中,病人右足被放置于功能位,其目的是为了避免出现()
A.元气耗损,脏腑功能衰退,抗病力下降B.气机不畅,流通受阻,脏腑功能障碍C.气机升降失常,脏腑之气逆上D.气虚无力升举,脏腑位置下垂E.气的出入异常,或闭阻,或外散
A.1:2000~1:5000高锰酸钾溶液B.鸡蛋白C.3%过氧化氢溶液10ml加入100ml水中D.1%~2%氯化钠溶液或生理盐水E.牛奶与水等量混合可缓解硫酸铜、氯酸盐等化学物质的胃肠道刺激作用
以下应该设置会计机构的单位是( )。
在国债偿还期内分年度确定一定的偿还比例,由政府按国债券号码抽签对号,如约偿还本息,直到偿还期结束,全部国债券中签偿清为止的一种方式是国债偿还方式中的( )。
“制定和修改村民自治章程、村规民约”属于村民会议的()职能。
幼儿记忆的特点有()。
洋务派和维新派的主要分歧是()。
我国宪法规定,公民在()的情况下,有从国家获得物质帮助的权利。
Americawasoptimisticalmostasamatterofofficialdoctrinerightfrommeoutset.Anyonesettinguparepublicinthe1770sh
最新回复
(
0
)