首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2015-08-23
34
问题
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#inolude
#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*)call*(sizeof(STU),m)
for(2=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(2=0;i
fprintf(pf,"No=%s Mark=%d\n",
a
.hum,a
.s);
fprintf(pf,"\n\n");
}
main()
{STU a[N]={{"A01",81),{"A02",8 9},
{"A0 3",6 6},{"A0 4",8 7),{"A05",77},
{"A0 6",90),{"A07",79),{"A08",61},
{"A0 9",8 0),{"A10",71));
STU*porder;
int i,m;
printf ("*****The Original data*****\n"),
outresult(a,stdout);
printf("\nGive the number of thestudents 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
. hum,porder
.s);
free(porder);
}
选项
答案
(1)t=(STU *)call *(si zeof(STU),m) (2)t[k]=b[j];前m(m≤10)名学生。利用循环结构实现对定义的结构体中的成绩域进行排序。
解析
(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t==(STU*)calloc(sizeof(STU)”语句没有使用分号“;”结束,因此需要在语句结尾处加分号。calloc函数是C语言的动态分配函数,分配存储空间。
(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]”而不是元括弧“()”,因此第二标识下应改成“t[k]=b啪;”。
转载请注明原文地址:https://jikaoti.com/ti/PSi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若a是int型变量,则下列表达式的值为______。(a=2*3,a*2),a+4
有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}执行后的输出结果是()。
有下列程序:fun(intx,inty){retum(x+y);}main(){inta=1,b=2,c=3,sum;stun=fun((a++,b++,a+b),c++);printf("%d\n",su
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{1
有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1)>x[j]
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是______。
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是
数据库设计分为以下6个设计阶段:需求分析阶段、【】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
用筛选法可得到2~n(n
随机试题
已知学生一课程数据库中包含以下三个表:学生表S(Sno,Sname,Ssex,Sage,Sdept)、课程表C(Cno,(2name,Ccredit)和学生选课表SC(Sno,Cno,Grade)。其中Sno表示学号,Sname表示姓名,Ssex表示性别,
A、只饮蒸馏水B、头部直接日光照射C、多汗不饮水D、高热无汗,意识障碍E、高热环境多饮盐汽水预防中暑()。
患者,女性,76岁。确诊风湿性心脏病20年,呼吸困难加重2周,剧烈咳嗽,咳粉红色泡沫痰。查体得:血压118/76mmHg,心率150次/min,心律绝对不齐。该患者的首选检查是
某土样的天然含水率为27.0%,塑限为16.0%,液限为39.0%,则其塑性指数为()。
桥梁施工测量方法有:控制测量、墩台定位及其轴线测设、桥梁结构细部放样、变形观测和竣工测量等。对于小型桥一般不进行()。
甲公司以及与甲公司发生交易的以下公司均为增值税一般纳税人,销售或进口货物适用的增值税税率均为17%,以下事项中销售价格均不含增值税。甲公司2016年发生如下经济业务:(1)1月1日,甲公司与乙公司签订协议,向乙公司销售商品,成本为90万元,增值税专用发票
一形状如图所示的绝缘细线,其上均匀分布着正电荷,已知电荷的线密度为λ,两线段直线长均为a,半圆环的半径为a。试求:环心O点的电势。
我们无法________生命的长度,但我们可以靠________它的宽度和高度来________它的容积,使人生更加丰富多彩。填入划横线部分最恰当的一项是()。
5英寸软盘(总容量为720KB)盘片每条磁道分为( )段。
EffectiveAssignmentsUsingLibraryandInternetResourcesFacultymemberscanfacilitatestudents’developmentasseekersa
最新回复
(
0
)