[主观题]

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

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <string.h>

include <stdio.h>

include <alloc.h>

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=calloc(m,sizeof(STU));

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

b[i]=a[i];

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

{

/*************found*************/

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

if(b[i].s<b[j],s)

j=i;

/*************found*************/

t[k].s=b[j].s;

b[j].s=100;

}

return t;

}

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].S);

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

}

main()

{

STU a[N]={{“A01”,77},{“A02”,85},

{“A03”,96},{“A04”,65},{“A05”,75},

{“A06”,96},{“A07”,76},{“A08”,63},

{“A09”,69},{“A10”,78}};

STU *porder;

int i,m;

clrscr();

printf(“*****THE RESULT*****/n”);

outresult(a,stdout);

printf(“/nGive the number of the students who have lower score:”);

scanf(“%d”,&m);

while(m>10)

{

printf(“/nGive the number of the students who have lower score:”);

scanf(“%d”,&m);

}

porder=fun(a,m);

printf(“*****THE RESULT*****/n”);

printf(“The low:/n”);

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

printf(“%s %d/n”,porder[i].num,

porder[i].s);

free(porder);

}

参考答案与解析:

相关试题

下列给定程序中,函数proc()的功能是:对M名学生的学习成绩,按从低到高的顺序

[试题]下列给定程序中,函数proc()的功能是:对M名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

  • 查看答案
  • 试题四 下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到

    [试题]试题四下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include<stdio.h>#include<malloC.h>#include<string.h>#include<c

  • 查看答案
  • 给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺

    [主观题]给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

  • 查看答案
  • 给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数

    [试题]给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第l门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第l门课程的平均分是:76.125000请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:

  • 查看答案
  • 下列给定程序中,函数fun()的功能是:从n个学生的成绩中统计出低于平均分的学生

    [主观题]下列给定程序中,函数fun()的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩:80.5 60 72 90.5 98 51.5 88 64则低于平均分的学生人数为4(平均分为75.5625)。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>include <conio.h>define N 20int

  • 查看答案
  • 对认知性学习目标水平的描述中,符合从低到高顺序的是()。

    [单选题]对认知性学习目标水平的描述中,符合从低到高顺序的是()。A . 知道、识别、认识、理解B . 说出、辨认、解释、应用C . 说出、认识、比较、归纳D . 能表示、举例、归纳、证明

  • 查看答案
  • 下列给定程序中,函数fun的功能是按以下递归公式求函数值。 例如:当给n输入5时

    [主观题]下列给定程序中,函数fun的功能是按以下递归公式求函数值。例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。请改正程序中的错误,使它能得到正确结果。注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>/*************found****+*******/fun(int n);{int c;/*************found********+*****/if(n=1)c=15;elsec=fun(n-1)*2

  • 查看答案
  • 下列给定程序中函数fun()的功能是:从低位开始取出长整型变量s中偶数位上的数,

    [主观题]下列给定程序中函数fun()的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为7654321时,t中的数为642。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>include <conio.h>/*************found**************/void fun(long s,long t){ long s1=10;s/=10;*t

  • 查看答案
  • 下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a

    [主观题]下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a [0][2] .....中,把偶数从数组中删除,奇数个数通过函数值返回。 例如:若a所指数组中的数据最初排列为:9、1、4,2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、 3、5、7,返回值为5。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANKl.C中。 不得增行或删行,也不得更改程序的结构!

  • 查看答案
  • 下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数

    [主观题]下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为7654321时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!include<;stdi0.h>;

  • 查看答案