首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
admin
2009-02-15
163
问题
学生的记录由学号和成绩组成,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://www.kaotiyun.com/show/QTID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
中国的英文名称“CHINA”的小写就是“瓷器”的意思,“CHINA”的英文发音源自景德镇的历史名称“昌南”,并以此突出景德镇瓷器在世界上的影响和地位。以下不属于景德镇四大传统名瓷的是()。
下列选项中,有关科技词汇与出处对应关系错误的是()。
化学与日常生活密切相关,下列说法错误的是()。
下列规范性文件中不得设定行政许可的是()。
亚欧大陆中部、北美洲中部和南美洲南部分布着()。
在秋冬时节,我国大部分地区常会出现大雾,阻碍水、陆、空交通的正常运行,引发交通事故,危害人体健康。下列关于雾的说法正确的是()。
中国APEC峰会批准了《亚太经合组织互联互通蓝图》这一里程碑式文件,决心在2025年前实现()的远景目标,并完成共同确立的具体指标。
扩张性货币政策的主要功能是()。
王某现年17岁,高二学生,平时创新能力极强,其研究创造的一个小发明获得专利,并且经济价值较高。专利权的申请、使用和由此所获取的收人的处理一概由王某的父亲予以安排,王某的父亲从事的下列各种行为中,违背了《民法通则》规定的监护责任的是()。
符合下列哪一情形而在五年以内再犯应当判处有期徒刑以上刑罚之罪的,不构成累犯?()
随机试题
男性腺分泌的激素()。
求函数f(x)=x3一3x2一9x+1的极值.
患者,男性,50岁。因门脉高压症行脾肾分流术。对患者行出院宣教时,为预防术后消化道出血,最重要的是
免疫复合物性肾小球肾炎的病灶
孕妇发生风疹会通过胎盘导致胎儿宫内感染,最可能发生
合理估计企业资产的减值并提取相应的准备,这体现了谨慎性质量要求;企业将融资租入固定资产视同自有固定资产核算,体现了可理解性要求。()
定义:①奉献管理指企业员工都自觉地在企业文化的支配下,对变幻莫测的市场,很快地联合行动,采取对策。②合作管理指合作双方在优势互补的基础上,按行规运作,并规范自身行为,通过真诚合作,有效沟通,实现合作利益最大化,让双方都成为赢家的管理。
某竹枝词写道:“自开海禁五洲通,水陆舟车急似风。百货遍流全世界,商场发达正无穷。”词中所述现象的历史背景是()。
IP地址块192.168.15.136/29的子网掩码可写为()。
InflationBusinessandgovernmentleadersalsoconsidertheinflationratetobeanimportantgeneralindicator.Inflationi
最新回复
(
0
)