首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和
admin
2010-05-05
48
问题
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<malloc.h>
#include<string.h>
# include<conio.h>
#define N 10
typedef struct ss
{
char num[10];
int order;
}STU;
STU *fun(STU a[], iht m)
{
STU b[N], *tt;
int i,j,k;
【 】;
for(i=0; i<N; i++)
b
=a
;
for (k=0;k<m;k++)
{
for (i=j=0;i<N;i++)
if (【 】)
j=i;
tt [k]=b[j];
b[j].order=0;
}
return【 】;
}
outresult (STU a[],FILE *pr)
{
int i;
for(i=0;i<N; i++)
fprintf(pf,"No=%s Mark=%d\n",
a
.num,a
.order);
fprintf(pf,"\n\n");
}
main()
{
STU [N]={{"A01",80},{"A02",79},
{"A03",66},{"A04",82},{"A05",87},
{"A06",93},{"A07",78},{"A08",60},
{"A09",85},{"A10",73}};
STU *p_order;
int i,m;
clrscr();
printf("*** The Origial data ***\n");
outresult(a, stdout);
printf("\nGive the numeber of the
students who have better score:");
scanf("%d",&m);
while (m>10)
{
printf("\nGive the number of the
studets who have better score:");
scanf("%d",&m);
}
p_order=fun(a,m);
printf("*** THE RESULT ***\n");
printf("*** The top students ***\n");
for(i=0; i<m; i++)
printf (" %s %d\n",
p_order
.num,p_order
.order);
free(p_order);
}
选项
答案
tt=(STU*)malloc(sizeof(STU)*m) b[i].order>b[j].order tt
解析
第一空:tt是结构体STU型指针,声明时并没有进行初始化,所以,需要使用malloc()函数动态申请存储空间。动态申请存储空间的大小取决于函数的形参m。第二空:按成绩高低找出前m名学生的方法是,先假设第一名学生成绩最高,依次与其他学生的成绩进行比较,如果出现成绩更高者,则认为这名学生成绩最高,全部比较完后找到成绩第一名的学生,存入指针tt所指的结构体空间中,同时将这名同学的成绩置0,这样在其他同学中找第一名就相当于找到所有同学中的第二名,依此类推,进行m次循环,找到前m名学生。第三空:题目要求函数值返回动态分配的存储区的首地址,所以返回指针tt。
转载请注明原文地址:https://www.kaotiyun.com/show/XHID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列叙述中,错误的是()。
张某在路上发现有小偷正在对行人李某行窃,便立刻上前阻止.结果被该小偷用刀刺伤。张某共花费医疗费用5万元。针对该情况,下列表述中正确的是()。
刑法上的因果关系是指人的危害社会的行为与危害结果之间存在的()。
下列以平衡国际收支的暂时不平衡为主要功能的组织是()。
亚太经合组织逐步形成了自己独特的合作方式,即“APEC”方式,这一合作方式的内容是()。①承认多样性②强调协商一致③强调互惠互利④强调自主自愿⑤强调灵活性⑥提倡自由贸易
某甲在银行取款时,银行工作人员因点钞失误多付给他1万元,甲以这1万元作本钱经商,获利5千元,其中2千元为其劳务管理费用成本。一个月后银行发现了多付款的事实,要求甲退回,甲不同意。下列有关该案的哪一表述是正确的?()
乙遭车祸昏迷在路上,甲途经发现后雇计程车将乙送往医院,并帮其支付医药费,在救助过程中,甲的名牌衣服因染有乙的血渍而不能使用,同时乙的贵重手表遗落在事故地点,甲因疏忽而未能发现。下列说法中不正确的是()。
某自行车租车点的收费标准是每车次不超过两小时免费,超过两小时的部分每小时收费2元(不足1小时的部分按1小时计算)。有甲、乙两人各自来该租车点租一车。设甲、乙不超过两小时还车的概率分别为;两小时以上且不超过三小时还车的概率分别为;两人租车时间都不会超过四小时
一间房屋的长、宽、高分别是6米、4米和3米。施工队员在房屋内表面上面一条封闭的线,其所画的线正好在一个平面上且该平面正好将房屋的空间分割为两个形状大小完全相同的部分。问其所面的线可能的最长距离和最短距离之间的差是多少米?()
网络用语从一开始就不是交际语言。文字和语言的性质是不一样的,语言本质上是用声音符号做物质外壳的,文字则是用来记录有声语言的。世界上大多数语言并没有文字,这些语言也就不会有网络用语。文字有记录、保存语言的功能,并能远距离传送,网络主要利用文字来实现即时的远距
随机试题
关于国家对数字出版产品的管理,说法正确的是()。
Themusclesofthebodyactuallyparticipateinthementalprocessofthinking______,butthisparticipationbecomeslessobviou
呼吸衰竭缺氧伴CO2潴留患者不可能出现
患者最可能的诊断为患者首选的治疗药物是
多层螺旋CT与单层螺旋CT相比,硬件方面最大的改进是
下列有关慢性胃炎的预防措施不恰当的是()
制冷系统管路的阻力会导致压缩机的排气压力(),吸气压力()。
根据证券法律制度的规定,下列各项中,属于不得收购上市公司的情形有()
Whatvocabularylearningstrategydoesthefollowingactivityhelptotrain?Theteachercreatedasituationandaskedstudents
私德是指人们在不直接涉及对社会整体的义务和责任的私人生活和私人交往中应当遵循的道德准则,主要包括个人生活习惯、行为风度、性格特点以及处理爱情、婚姻、家庭问题的道德等。 根据上述定义,下列不属于私德的是()。
最新回复
(
0
)