首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2015-12-22
44
问题
给定程序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全国计算机二级
相关试题推荐
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotate(i
测试的目的是暴露错误,评价程序的可靠性;而【】的目的是发现错误的位置并改正错误。
下述关于数据库系统的叙述中正确的是______。
有以下程序: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
有以下程序:main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果是(选项D中的第一行是空行)___
已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是
有以下程序段charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
数据库设计包括两个方面的设计内容,它们是
若有说明chars1[]="Thatgirl",s2[]="isbeautiful";则使用函数strcmp(s1,s2)g,结果是______。
若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件()。
随机试题
(2019年烟台福山区)学生小明因打架被老师当众批评后,感到非常丢脸,于是他满腔怒火地用力把身边的板凳踢倒。小明的这种心理防御机制属于()
习近平总书记曾在中纪委会议上指出,要加强对权力运行的制约和监督,把权力关进制度的笼子里,形成不敢腐的惩戒机制,不能腐的防范机制,不易腐的保障机制。“把权力关进制度的笼子里”的根本之策是()。
电流表与被测负荷并联测量电流。()
麦克利兰提出了()
“范例教学理论”的倡导者是_______。
男,35岁。右上第一磨牙牙髓治疗后劈裂,拔牙过程中牙冠碎裂至龈下,牙根与周围骨质粘连。此时拔除此根应先
根据《招投标法》,由建设单位指定的5名行政领导和1名技术专家组成的评标委员会,存在的错误有()。
干粉灭火系统管网试压和吹扫中,当水压强度试验条件不具备时,可采用气压强度试验代替。气压强度试验压力取()倍系统最大工作压力。
按规定计算代扣代缴职工个人所得税,应贷记的会计科目是()。
ThekeytotheindustrializationofspaceistheU.S.spaceshuttle.【C1】______it,astronautswillacquireaworkhousevehicle【C
最新回复
(
0
)