首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2017-07-27
71
问题
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 #define N 10
5 typedef struct ss
6 { char num[10];
7 int s;
8 } STU;
9 STU *fun(STU a[],int m)
10 { STU b[N],*t;
11 int i,j,k;
12 /**********found**********/
13 t=(STU *)calloc(sizeof(STU),m)
14 for(i=0;i<N;i++)b
=a
;
15 for(k=0;k<m;k++)
16 { for(i=j=0;i<N;i++)
17 if(b
.s>b[j].s) j=i ;
18 /**********found**********/
19 t(k)=b(j);
20 b[j].s=0;
21 }
22 return t;
23 }
24 outresult(STU a[],FILE *pf)
25 { int i;
26 for(i=0;i<N;i++)
27 fprintf(pf,’’No=%s Mark=%d\n’’,a
.num,a
.s);
28 fprintf(pf,’’\n\n’’);
29 }
30 main()
31 { STU a[N]={{’’A01’’,81},{’’A02’’,89},{’’A03’’,66},{’’A04’’,87},{’’A05’’,77},{’’A06’’,90},{’’A07’’,79},{’’A08’’,61},{’’A09’’,80},{’’A10’’,71}};
32 STU *pOrder;
33 int i,m;
34 printf(’’*****The Original data*****\n’’);
35 outresult(a,stdout);
36 printf(’’\nGive the number of the students who have better score:’’);
37 scanf(’’%d’’,&m);
38 while(m>10)
39 { printf(’’\nGive the number of the students who have better score:’’);
40 scanf(’’%d’’,&m);
41 }
42 porder=fun(a,m);
43 printf(’’***** THE RESULT ***** \n’’);
44 printf(’’The top:\n’’);
45 for(i=0;i<m;i++)
46 printf(’’%s%d\n’’,pOrder
.num,pOrder
.s);
47 free(pOrder);
48 }
选项
答案
(1)t=(STU *)calloc(sizeof (STU),m); (2)t[k]=b[j];
解析
(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t==(STU *)calloc(sizeof( STU),m)”语句没有使用分号“;”结束,因此需要在语句结尾处加分号。calloc函数是C语言的动态分配函数,分配存储空间。
(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]”而不是元括弧“()”,因此第二标识下应改成“t[k]=b[j];”。
转载请注明原文地址:https://kaotiyun.com/show/uKDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
结构化程序所要求的基本结构不包括
执行下列程序时输入456<空格>789<空格>123<回车>,输出结果是()。#include<stdio.h>main(){charm[80];intc,i;scanf("%c",&C);sca
设有如下关系表:则下列操作正确的是()。
下面函数的功能是()。sss(s,t)char*s,*t;{while(*s);while(*t)*(s++)=*(t++);returns;}
下列选项中,不属于数据库管理的是()。
C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是()。
数据结构分为线性结构和非线性结构,带链的队列属于()。
假设有语句sizeof(double),则它是()。
数据结构分为逻辑结构和存储结构,循环队列属于【】结构。
在数据处理中,其处理的最小单位是()。
随机试题
系统达到稳定状态后,同外界交换的物质量占库总量的分数值叫______。
男,81岁。骶尾部疼痛3个月,咳嗽2周,无发热,无外伤史。诊断依据是哪些
患者女,56岁。进行性吞咽困难1个月余,体重近来明显减轻,伴声嘶,无胸痛或背痛,无饮水呛咳,查体:浅表淋巴结未及明显肿大。超声内镜检查:食管距门齿24~27cm见一溃疡,食管病灶处全层低回声增厚,最厚处8.0mm,累及固有基层,外膜层完整。食管23cm处壁
下列哪项与银屑病发病无关
柴胡善于治疗的是()羌活善于治疗的是()
对濒死期病人在提供心理护理时应注意
市区内某大型商贸公司为增值税一般纳税人,兼营商品加工、批发、零售和进出口业务,2017年12月发生以下经营业务:(1)进口高尔夫球一批,关税完税价格855万元,关税17l万元,进口消费税114万元;支付海关地运往商贸公司的不含税运输费用2万元,取得增值税
“三个代表”这一科学理论在建设中国特色社会主义的思想路线、发展道路、发展阶段和发展战略、根本任务、发展动力、依靠力量、国际战略、领导力量和根本目的等重大问题上取得了丰硕成果,用一系列紧密联系、相互贯通的新思想、新观点、新论断,创造性地回答了(
令h=(b-a)/n,因为f(x)在[a,b]上连续且单调增加,且f(a)=a<b=f(b),所以f(a)=a<a+h<…<a+(n-1)h<b=f(b),由端点介值定理和函数单调性,存在a<c1<c2<…
IthaslongbeenrecognizedbothhomeandabroadthattraditionalChinesearts,suchascalligraphy,painting,opera,andlitera
最新回复
(
0
)