首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和
admin
2010-05-05
47
问题
下列给定程序中,函数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://kaotiyun.com/show/XHID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
化学与日常生活密切相关,下列说法错误的是()。
下列叙述中,错误的是()。
亚欧大陆中部、北美洲中部和南美洲南部分布着()。
国际上用来综合考察居民间收人分配差异状况的一个重要分析指标是()。
根据我国《宪法》规定,决定战争与和平问题的职权由()。
按照我国有关的法律规定,遗产继承的第一顺序继承人为()。
编号从1到10的10个白球排成一行,现按照如下方法涂红色:①涂2个球:②被涂色的2个球的编号之差大于2。那么不同的涂色方法有多少种?
甲、乙两个仓库共存药45吨,现从甲仓库调出库存的60%,从乙仓库调出库存的40%支援非洲,结果两仓库药品库存相差3吨。甲、乙仓库原本库存的比例可能是多少?
小明买了7本书共花去100元,后发现有一本书质量有问题,故补了若干元换了另外一本书。回来后发现,退换后7本书的价格成等差数列且均为整数元,而最贵的书价格为26元,问最便宜的书多少钱?()
用混凝土铺设一条宽度为20米的马路,每两包水泥可以制造1立方米混凝土。使用现有的水泥,如果按照20厘米的混凝土厚度铺设马路,工程完成后剩余4600包水泥;如果按照50厘米的混凝土厚度铺设马路,就还缺5000包水泥。则这条马路长()米。
随机试题
教育法律和教育政策在本质上是一致的。教育法律是教育政策的基础和灵魂,教育政策是教育法律的特定表现形式。()
衍生金融市场的基本交易方式有【】
Incitieswithrentcontrol,thecitygovernmentsetsthemaximumrentthatalandlordcanchargeforanapartment.Supporterso
关于受激辐射的特点叙述错误的是
企业采用“工作量法”对运输车辆计题折旧。该企业的一辆运货卡车价值为60000元,预计总行驶里程为50万km,预计报废时的净残值率为5%,本月该卡车行驶4000km。该辆卡车的月折旧额为( )元。
干粉灭火系统由干粉灭火设备和自动控制两大部分组成,其中干粉灭火设备由()组成。
物权的种类不包括()。
在社区建设实践中,我国城市基本形成了“两级政府、三级管理、四级落实”的管理体制。“两级政府”是指市、区两级政府;“三级管理”是指市、区、街道的管理;“四级落实”是指市、区、街道、居委会的四级的组织落实。()
犯罪嫌疑人小王、小李在被害人朱某经营的游戏机室里玩游戏,因退款结账一事与朱某发生争执。小王、小李一起对游戏机室内的其他人员吴某等人实施殴打,并用板凳将部分游戏机砸坏造成被害人吴某重伤,被砸坏的游戏机价值3万余元。路人报案后警方介人调查。关于报案,下列说
(复旦大学2012)证券交易机制设计的目的和原则是什么?
最新回复
(
0
)