首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)g学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)g学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2013-03-29
59
问题
给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)g学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正函数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*)calioc(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”,6l},
{”A09”,80},{”A10”,71}};
STU*pOrder;
int i,m;
printf(”*****The Original data
*****\n”);
outresult(a,stdout);
printf(”\nGive the number of the
stuclents who have 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
.
num,pOrder
.s);
free(pOrder);
}
选项
答案
(1)t=(STU*)calloc(sizeof(STU),m); (2)t[k]=b[j];
解析
(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t=[STU*)callot(sizeof(STU),m)"语句没有使用分号“;"结束,因此需要在语句结尾处加分号。calloc函数是C语言的动态分配函数。分配存储空间。
(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]"而不是元括弧“()",因此第二标识下应改成"t[k]=b[j];"
转载请注明原文地址:https://kaotiyun.com/show/pPJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有说明chars1[30]="Thecity",s2[]="isbeautiful";,则在使用函数strcat(s1,s2)后,结果是()。
以下正确的程序段是
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。
已有定义double *p;,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元【 】。
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
以下叙述中错误的是______。
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是
若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是() inta[]={1,2,3,4,5,6,7,8,9,0}; int*p,I p=a;
【】是指一个数据对象中的各个数据元素之间存在的联系。
随机试题
在“POSDCORB”中,古立克认为将目的具体化的惟一途径是
RTF格式的文本文件,可以作为PowerPoint的大纲文件使用。()
关于肘关节侧位摄影,错误的叙述是
简述人工呼吸器应用的主要目的。
下列药物须舌下给药的是
"肾为气之根"主要是指肾的哪种功能
给定资料1.2015年年底至2016年4月期间,刚刚搬到新校址的某外国语学校部分学生不断出现各种不良反应和疾病。学生家长调查发现,学校北面有一片工地,原本有三家化工厂,化工厂生产的大量氯苯、环芳烃、汞、镉等污染物严重超标,导致所在地块成为“毒地”。
根据下面的材料,回答下列题。以下说法中,正确的有几个?①2008年,上海市三次产业增加值的同比增长率都是最低的②2007年,杭州市的国内生产总值超过4000亿元③2007年,南京市第三产业增加值大于宁波市④2008年,七个城市第一产业增加值的
镇压反革命运动在全国进入高潮的标志是()。
简述《中华民国临时约法》的特点及其历史意义。
最新回复
(
0
)