首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动ma
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动ma
admin
2009-02-15
107
问题
下列给定程序中,函数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
=a
;
for(k=0;k<m;k++)
{
/*************found*************/
for(i=j=0;i<N;j++)
if(b
.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
.num,a
.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
.num,
porder
.s);
free(porder);
}
选项
答案
(1)错误:*t=calloc(m,sizeof(STU)); 正确:t=calloc(m,sizeof(STU)); (2) 错误:for(i=j=0;i<N;j++) 正确:for(i=j=0;i<N;i++) (3) 错误:t[k].s=b[j].s; 正确:t[k]=b[j];
解析
错误1:calloc也用于分配内存空间。调用形式: (类型说明符*)calloc(n,size),功能:在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址,而本题中t定义为指针类型。(类型说明符*)用于强制类型转换。calloc函数与malloc函数的区别仅在于一次可以分配n块区域。例如:ps=(stmet stu*)calloc(2,sizeof(stmct stu));其中的sizeof(stmct stu)是求stu的结构长度。因此该语句的意思是:按stu的长度分配两块连续区域,强制转换为sm类型,并把其首地址赋予指针变量ps。错误2:此循环中,变量i递增。错误3:本题旨在考查对结构体概念的掌握和灵活应用程度。
转载请注明原文地址:https://kaotiyun.com/show/bTID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面关于蛋白质分子结构与功能的叙述。错误的是()。
下列应对自然灾害的做法,错误的是()。
区分国家性质的根据是()。
国际收支平衡表的四部分主要内容中,最基本的项目是()。
“榨菜指数”反映的是榨菜销售量与农民工的流动趋势存在巨大的相关性。如从2007年到2011年,涪陵榨菜在珠三角地区的市场份额从49%一路跌破30%,与此对应的是珠三角地区劳动密集型企业转移和农民工的快速流出。珠三角“榨菜指数”下跌的深层次原因是()。
某县公安局民警甲在一次治安检查中被乙打伤,公安局认定乙的行为构成妨碍公务,据此对乙处以200元罚款。甲认为该处罚决定过轻。下列哪种说法是正确的?()
某县人民法院审理一民事案件过程中,要求县移动通信营业部提供某通信用户的电话详单。根据我国宪法规定,下列说法正确的是()。
近年来,我国极地科学考察不断取得优异成绩,目前已在南北极建立了四个科学考察平台.在北极建立的是()。
政府为了保护农业生产者,对部分农业产品规定了保护价格。为了采取这种价格政策,应采取的相应措施是()。
有一位百岁老人出生于二十世纪,2015年他的年龄各数字之和正好是他在2012年的年龄的各数字之和的三分之一,问该老人出生的年份各数字之和是多少(出生当年算作0岁)?
随机试题
木香的功效是()
混凝土搅拌站一般不包括()。
背景某施工单位为完成某机电工程项目施工任务,以机械设备的经济原则为指导,在市场上租赁了一台150t履带吊车进行大型设备吊装。吊车运达施工现场,组装完毕后即开始吊装作业。一个月后的一天,负责压缩机安装的钳工班长要求吊车司机在当天中午在压缩机厂房封
消防水箱的检测验收中,对于敞口水箱装满水静置24h后观察,若不渗不漏,则敞口水箱的满水试验合格;而封闭水箱在试验压力下保持()min,压力不降、不渗不漏则封闭水箱的水压试验合格。
甲某受聘于一家国有技术咨询服务公司任财务总监,公司每月按规定代扣代缴其个人所得税。2013年取得如下收入:(1)2013年该公司开始实施雇员持股激励,实行股票期权计划。2013年6月28日,该公司授予甲某股票期权30000股。授予价2.5元/股;
针对华南虎事件,请你谈谈该事件反映了干部身上啊些作风问题?
某学校组织学生春游.往返目的地时租用可乘坐10名乘客的面包车,每辆面包车往返的租金为250元。此外,每名学生的景点门票和午餐费用为40元。如要求尽可能少租车,则以下哪个图形最能反映平均每名学生的春游费用支出与参加人数之间的关系?
在窗体Form1上放一个名为Text1的文本框和一个名为Command1的命令按钮,然后编写一个事件过程。要求程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“VB等级考试二级”。以下能正确实现上述操作的事件过程是()。
Naturallytheaudiencesthatsupportvariouskindsofmusicarenotidentical.Thereareseparateaudiences,ofwidelydiffering
MichaelSchumachergotinjuredwhilehewas______.
最新回复
(
0
)