首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
admin
2009-02-15
122
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define N 16
typedef struct
{ char mum[10);
int s;
}STREC;
int fun (STREC a[ ])
{
}
main ()
{
STREC s[N]={{“GA005”,88},{“GA003”,64},
{“CA002”,77},{“GA004”,89},{“GA001”,54},
{“GA007”,72},{“GA008”,72},{“GA006”,65},
{“GA015”,83},{“GA013”,95},{“GA012”,55},
{“GA014”,68},{“GA01l”,78},{“GA017”,53},
{“GA018”,92},{“GA016”,82}};
int i;
FILE *out;
fun(s);
printf(“The data after sorted :\n”);
for(i=0;i<N;i++)
{
if((i)%4==0)
/*每行输出4个学生记录*/
printf(“\n”);
printf(“%s %4d ”,s
.num,s
.s);
}
printf(“\n”);
out=fopen(“out21.dat”,“w”);
for(i=0;i<N;i++)
{
if((i)%4==0&&i)
fprintf(out,“\n”);
fPrintf(out,“%4d”,s
.s);
}
fprintf(out,“\n”);
fClose(out);
}
选项
答案
int fun(STREC a[]) { int i,j; STREC t; for(i=l;i<N;i++) /*用冒泡法进行排序,进行N-1次比较*/ for(j=0;j<N-1;j++) /*在每—次比较中要进行N-1次两两比较*/ if(a[j].s>a[j+1].s) /*按分数的高低排列学生的记录,低分在前*/ { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }
解析
冒泡法算法思路:如果有N个数,则要进行N-1次比较,在每—次比较中要进行N-1次两两比较(这种算法较好理解但不是最精的)。所谓两两比较就是从头到尾依次将相邻两个数进行比较并将其中大的数放在前或在后(若要求从小到大排序,则大的数要放在后。反之则对调),即两两比较后这两个数要形成题中所要求的顺序。由于总是从头到尾进行比较,所以第1次比较结束后,最大(或最小)数肯定在最后,第2次比较结束后,次最大(或次最小)数肯定在倒数的第2个数,依次类推,所以进行第一次比较时必须比较到最后一个数,而进行第2次比较时只要比较到倒数的第2个数即可,所以进行第 i次比较I时只需比较N-i次即可(这种算法较难理解,但它是最好的)。
转载请注明原文地址:https://kaotiyun.com/show/QTID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
关于珠算的说法,错误的是()。
我国是统一的多民族国家,下列关于我国国家结构形式的表述,不正确的是()。
“两个共同”是新世纪新阶段民族工作的主题,“两个共同”是指()。
下面关于蛋白质分子结构与功能的叙述。错误的是()。
金融市场最基本的功能是()。
我国是统一的多民族国家,下列关于我国国家结构形式的表述,不正确的是()。
近些年.我国取得了一批重大科技创新成果,实现部分领域由“跟随”到“领跑”的跨越。以下说法不正确的是()。
张某11周岁,小学五年级学生.经常在其学校门口的一家小卖部买零食和一些学习用品,部分赊账,年终时共欠小卖部340元。小卖部老板拿着账单要求张某父亲付款,遭到张某父亲拒绝。下列说法正确的是()。
有一位百岁老人出生于二十世纪,2015年他的年龄各数字之和正好是他在2012年的年龄的各数字之和的三分之一,问该老人出生的年份各数字之和是多少(出生当年算作0岁)?
一个箱子里有四种不同颜色的小球,每次拿出2个,要保证有10次所拿的结果是一样的,至少要拿()次。
随机试题
下列属于正式沟通方式的是【】
在计算机内设有某进制数2+6=ll,则3+4=________。
患者,男,50岁。患慢性。肾炎5年,近来出现无力、少尿、水肿加重,伴贫血,血压165/105mmHg。则下列哪项检查最先有异常
患者肩背痛不可回顾,头痛身重,腰脊疼痛,舌苔白,脉浮。治疗应选用()
现代工程咨询涉及的专业方法包括()。
根据《注册造价工程师管理办法》的规定,注册造价工程师变更执业单位申请变更注册的,应当提交的材料有()。
把握问题的本质和关键信息,摒弃无关因素,并在头脑中形成有关问题的初步印象,即形成问题的表征的过程,就是()。
商品结构的复杂化是当今世界市场的重要特征,其表现是,在国际贸易中形成了制成品贸易扩大,初级产品贸易减少的商品结构。出现这种变化的原因是()。
【2016北京NO.66~70】毛里求斯是印度洋西南部一个火山岛国,同非洲大陆隔离。渡渡鸟是仅产于毛里求斯的巨鸟,既不能飞,又跑不快。在被人类发现仅200年后,1681年,最后一只渡渡鸟被残忍地杀害。成为西方工业社会以来,有史书记载的第一种被灭绝的动物。和
中国最早的诗歌总集和志怪小说集的名称各是什么?
最新回复
(
0
)