问题

●试题四

下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

#include<stdio.h>

#include<mallo

C.h>

#include<string.h>

#include<conio.h>

#define N 10

typedef struct ss

{

char num[10];

int order;

}STU;

STU *fun(STU a[], int m)

{

STU b[N],*tt;

int i,j,k;

(1) ;

for(i=0; i<N; i++)

b[i]=a[i];

for (k=0;k<m;k++)

{

for(i=j=0;i<N;i++)

if ( (2) )

j=i;

tt[k]=b[j];

b[j].order=0;

}

return (3) ;

}

outresult(STU a[],FILE *pf)

{

int i;

for(i=0;i<N; i++)

fprintf(pf,"No=%s Mark=%d\n",

a[i].num,a[i].order);

fprintf(pf,"\n\n");

}

main()

{

STU [N]={{"A01",80},{"A02",79},

{"A03",66},{"A04",82},{"A05",87},

{"A06",93},{"A07",78},{"A08",60},

{"A09",85},{"A10",73}};

STU *p_order;

int i,m;

clrscr();

printf("*** The Origial data ***\n");

outresult(a, stdout);

printf("\nGive the numeber of the

students who have better score:");

scanf("%d",&m);

while (m>10)

{

printf("\nGive the number of the

studets who have better score:");

scanf("%d",&m);

}

p_order=fun(a,m);

printf("*** THE RESULT ***\n");

printf("*** The top students ***\n");

for(i=0; i<m; i++)

printf(" %s %d\n",

p_order[i].num,p_order[i].order);

free(p_order);

}

参考答案
您可能感兴趣的试题
  • ●试题五阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【程序5说明】设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用()
  • ●试题六阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。【说明】源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用
  • ●已知文法G[A],它定义的语言描述为糧 (1) 。G[A]:A → 0B|1CB → 1|1A|0BBC → 0|0A|1CC(1) A.G[A]定义的语言由0、1符号串组成,或者串中1的个数是0
  • ●利用并行处理技术可以缩短计算机的处理时间,所谓并行性是指 (2) 。可以采用多种措施来提高计算机系统的并行性,它们可分成三类,即 (3) 。提供专门用途的一类并行处理机(亦称阵列处理机)以 (4)
  • ●软件的易维护性是指理解、改正、改进软件的难易程度。通常影响软件易维护性的因素有易理解性、易修改性和 (7) 。在软件的开发过程中往往采取各种措施来提高软件的易维护性。如采用 (8) 有助于提高软件的
  • ●在CORBA体系结构中, (12) 属于客户端接口。(12) A.静态IDLSkeletonsB.POAC.静态IDLStubsD.动态Skeletons
相关内容