首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2015-08-23
51
问题
给定程序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://kaotiyun.com/show/wHDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是()。
有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}执行后的输出结果是()。
下列能正确定义且赋初值的语句是()。
已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
有以下程序段charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
为了使模块尽可能独立,要求
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。main(){floata,b
数据结构分为线性结构和非线性结构,带链的队列属于【】。
对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是#includevoidmain(){FILE*fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);
用筛选法可得到2~n(n
随机试题
高速车削螺纹时,切削速度达到()m/min以上时,不会产生积屑瘤。
一般来说,长期教育规划的期限为()
能够使投资方案的净现值等于零的报酬率,即该方案的
下列关于肺栓塞(PE)常见症状叙述错误的是
某孕妇,28岁,孕36周,近日感下腹疼痛伴有阴道少量出血2天,入院,测胎心130次/分,妇检:宫口扩张2cm,胎头先露。
城市规划、建设和发展的墓本方针,是严格控制()规模,合理发展(),符合我国的()和城市的(),正确处理近期和远景发展的关系;城市各项建设都必须坚持()的原则,贯彻()的方针。①大城市;②中等城市
某组织的组织结构如下:根据上述资料回答下列问题:该公司的关键职能为()。
______(油漆成)red,thebuildingstandsoutamongtherestandlooksveryattractive.(paint)
(2004年)计算曲面积分其中∑是曲面z=1一x2一y2(z≥0)的上侧.
A.sothatB.preferenceC.normalD.circleE.callsforF.problemG.longer
最新回复
(
0
)