首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fhn的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fhn的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2019-04-04
17
问题
给定程序MODI1.C中函数fhn的功能是:对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 Mark = %d\n",
a
.num,a
.s) ;
fprintf(pf,"\n\n") ;
}
main ()
{STU
a[N]={{"A01",81},{"A02",89},
{"A03",66},{"A04",87},{"A05",7
7},{"A06",90},{"A07",79},{"A08
",61}, {"A09",80},{"A10",71} };
STU *pOrder;
int i, m;
printf ("****’* The Original
data *****\n");
outresult(a, stdout);
printf("\nGive the number of the
students 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
.num,
pOrder
.s);
free(pOrder);
}
选项
答案
(1)t=(STU*)calloc(sizeof (STU),m); (2)t[k]=b[j];
解析
(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t=(STU*)calloc(sizeof(STU),m)”语句没有使用分号“;”结束,因此,需要在语句结尾处加分号。calloc函数是C语言的动态分配函数,分配存储空间。
(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]”而不是圆括弧“()”,因此,第二标识下应改成“t[k]=b[j];”。
转载请注明原文地址:https://jikaoti.com/ti/xbf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
设有如下变量说明,则a+(int)((int)b+c)>>(int)(b-c)的值为【】。inta=5;floatb=7.2,c=3.6;
设有定义:structcomplex{intreal,unreal;}datal={1,8},data2;则以下赋值语句中错误的是
有以下程序 main() { int a [3][2]={0},(* ptr [2],i,j; for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);pb++;} for(i=0;i<3;i++)
以下程序执行后sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
有以下程序#include<stdio.h>main(){charc1=’1’,c2=’2’;c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行
表示关系a≤b≤c的C语言表达式为()。
设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为()。
若有以下类型说明语句:charw;intx;flooaty,z;则表达式w*x+z-y的结果为______类型。
下列程序的运行结果是:【】。#include<stringh>char*ss(char*s){returns+strlen(s)/2;}main(){char*p,*str="abcdefgh";p=
随机试题
在行政处罚听证程序中,行政机关应当在听证的()前,通知当事人举行听证的时间、地点。
华生集团公司开发设计一种新产品,预计单位变动成本为300元,固定成本总额为50000元,计划产销1000件。要求:(1)该公司计划获取税前净利50000元,新产品定价为多少?(2)根据市场预测,该新产品单位售价最高不得超过380元,若公司
各类食物中毒的共同特点是
最常见的异常骨盆为具备女性骨盆的特点,只是经线比正常小2cm以上的为
附子常用治
在初步设计阶段,国产非标准设备原价的确定方法有( )。
某企业销售收入800万元,变动成本率为40%,经营杠杆系数为2,总杠杆系数为3。假设固定成本增加80万元,其他条件不变,企业没有融资租赁和优先股,则总杠杆系数变为()。
关于法律溯及力,下列哪个选项是不正确的?()
Howlonghasn’tthemanheardfromClara?
A、Toaskthewomanforsomemoney.B、ToexchangeforeigncurrencyforRMB.C、TodepositpoundsandUSdollars.D、ToexchangeRMB
最新回复
(
0
)