首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结
admin
2015-12-22
35
问题
给定程序MODI1.C中函数fun的功能是:对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 Nark=%d\n",
a
.num,a
.s);
fprintf(pf,"\n\n");
}
main()
{STU a[N]={ {"A01",81},{"A02",89},
{"A03",66},{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},
{"A09",80},{"A10",71};
STU *pOrder;
int i,m;
printf("*****The Original data*****\n"),
outresult(a,stdout);
printf f"\nGive the number of the
students who haye 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 *)calloc(si zeof(STU),m); (2)t[k]=b[j];
解析
(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t=(STU*)calloe(sizeof(STU),m)”语句没有使用分号“;”结束,因此需要在语句结尾处加分号。calloc函数是C语言的动态分配函数,分配存储空间。
(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]”而不是元括弧“()”,因此第二标识下应改成“t[k]=b[j];”。
转载请注明原文地址:https://kaotiyun.com/show/RXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotate(i
下面程序的运行结果:【】。intf(inta[],intn){if(n>1)returna[0]+f(&a[1],n-1);elsereturna[o];}main(){inta
有以下程序:main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果是(选项D中的第一行是空行)___
有以下程序:#include<stdio.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);p
当变量c的值不为2、4、6时,值也为“真”的表达式是
数据结构分为线性结构和非线性结构,带链的队列属于【】。
对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是#includevoidmain(){FILE*fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成
已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是
数据库设计包括两个方面的设计内容,它们是
随机试题
汉语中的动态助词“了”只能用于过去时。()
Inthesamewaythatachildmustbeabletomovehisarmsandlegsbeforehecanlearntowalk,thechildmustphysiologically
肾虚型产后身痛的首选方剂为肾阴亏虚型产后小便淋痛的首选方剂为
通过椎旁静脉系统发生转移的是
根据《建设工程施工合同(示范文本)》(GF一1999一0201),如果干扰事件对工程的影响持续时间长,承包则应按工程师(监理人)要求的合理间隔,提交中间索赔报告,并在干扰事件影响结束后的()天提交一份最终索赔报告。
增值税一般纳税人购进的下列服务中进项税额不能从销项税额中抵扣的有()。
自学作为一种培训方式,其优点不包括()。
高校课程的纵向结构包括普通教育课程、基础课程、________和专业课程。
A、Manystudentscan’tgetupdatedonlineinformation.B、Manystudentsdonotmakethemostuseofprintedbooks.C、Manystudents
A、ConveniencesbroughttoconsumersthroughtheuseoftheInternet.B、ImplicationsoftheincreasingcommercialuseoftheInte
最新回复
(
0
)