首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动ma
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动ma
admin
2009-02-15
95
问题
下列给定程序中,函数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://jikaoti.com/ti/rxkiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
我国现行宪法规定()。
下列应对自然灾害的做法,错误的是()。
张某因不服税务局查封财产决定向上级机关申请复议,要求撤销查封决定。但没有提出赔偿请求。复议机关经审查认为该查封决定违法,决定予以撤销。对于查封决定造成的财产损失,复议机关正确的做法是什么?()
《关于改善农村人居环境的指导意见》指出,到2020年,全国农村居民住房、饮水和出行等基本生活条件明显改善,人居环境基本实现干净、整洁、便捷,建成一批()的美丽宜居村庄。
中国APEC峰会批准了《亚太经合组织互联互通蓝图》这一里程碑式文件,决心在2025年前实现()的远景目标,并完成共同确立的具体指标。
某选区共有选民13679人,高先生是数位候选人之一。请问根据现行宪法和选举法律,在下列何种情况下,高先生可以当选?()
近代中国思想界的“西学东渐”经历了一个由理论到实践、由照抄照搬到与中国实际情况相结合的发展历程。下面体现这两个步骤的标志性事件分别是()。
经济学上所推崇的“橄榄型”收入分配结构.是指低收人和高收入相对较少、中等收入占绝大多数的分配结构。我国正在采取措施,实施“提低、扩中、调高、打非、保困”的方针,使收入分配朝着“橄榄型”方向发展。这主要是为了促进()。
某车间加工一批零件,原计划每天加工100个,刚好如期完成,后改进技术,每天多加工10个,结果提前2天完成,这批零件有()个。
随机试题
关于急性血吸虫病的临床表现下列哪项是错误的
患者男,48岁,支气管肺癌,病理组织报告为“鳞状细胞癌”。患者在输注化疗药物过程中,突然感觉静脉穿刺处疼痛,紧急处理措施是
下列论述中,______不符合本质安全化原则的论点。
企业在确定为预防性需要而持有的现金数额时,需考虑的因素有()。
在确定实质性分析程序使用的数据的可靠性时,注册会计师通常考虑的因素有()。
在VisualFoxPro中,关系数据库管理系统所管理的关系是
结构化分析方法的基本思想是采用【】方法,分析整个系统,有效的控制系统开发的复杂性。
有如下程序main(){inty=3,x=3,z=1,printf("%d%d\n",(++x,y++),z+2);}运行该程序的输出结果是______。
KeepanEyeonCEOsGovernmentpolicydecisionscouldspeedorslowthepaceofrehabilitationforthebanks,and(31)tu
Daltonwonderedwhytheheavierandlightergasesintheatmospheredidnotseparateasoilandwaterdo.Hefinallyconcludedt
最新回复
(
0
)