首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是按分数的高低排列学生的记录,低分在前。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中
admin
2009-02-15
164
问题
学生的记录由学号和成绩组成,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全国计算机二级
相关试题推荐
亚太经合组织逐步形成了自己独特的合作方式,即“APEC”方式,这一合作方式的内容是()。①承认多样性②强调协商一致③强调互惠互利④强调自主自愿⑤强调灵活性⑥
养花专业户李某为防止偷花,在花房周围私拉电网。一日晚,白某偷花不慎触电,经送医院抢救,不治身亡。李某对这种结果的主观心理态度是什么?()
“两个共同”是新世纪新阶段民族工作的主题,“两个共同”是指()。
将水生植物和小鱼放入盛有水的玻璃缸中,密闭后置于光照、温度等适宜条件下。下列相关叙述,错误的是()。
化学与日常生活密切相关,下列说法错误的是()。
市场在资源配置中发挥着越来越重要的作用,但面对世界金融危机,市场的失灵引起了各国政府的重视。市场不具有的功能是()。
某甲在银行取款时,银行工作人员因点钞失误多付给他1万元,甲以这1万元作本钱经商,获利5千元,其中2千元为其劳务管理费用成本。一个月后银行发现了多付款的事实,要求甲退回,甲不同意。下列有关该案的哪一表述是正确的?()
养花专业户李某为防止偷花,在花房周围私拉电网。一日晚,白某偷花不慎触电.经送医院抢救,不治身亡。李某对这种结果的主观心理态度是什么?()
有一位百岁老人出生于二十世纪,2015年他的年龄各数字之和正好是他在2012年的年龄的各数字之和的三分之一,问该老人出生的年份各数字之和是多少(出生当年算作0岁)?
四只同样的瓶子内分别装有一定数量的油,每瓶和其他各瓶分别合称一次,记录千克数如下:8、9、10、11、12、13。已知四只空瓶的重量之和以及油的重量之和均为质数,求最重的两瓶内有多少油?
随机试题
龈下刮治中,刮治器进入牙周袋时刮治器的工作面与根面的角度应为
医德的基本原则不包括
目前,我国煤矿安全监察实行垂直管理、分级监察的管理体制。煤矿安全监察体制的特点为()。
出现以下()情形时,经人民法院许可,证人无须出庭做证。
水雷虽老,却依然是军舰的“________”.一方面,水雷威力巨大,即便是一些老式水雷也会对现代海军舰船构成相当成胁;另一方面,水雷研发难度低,制造成本也不高,因此平时可以大批量地制造、储备,战时可以大面积布设。所以,直到现在水雷依然是各国海军武器库的__
列夫.托尔斯泰说:“人的生命价值不是看时间而是看深度。”这句话对你有什么启示?
根据下面材料回答问题。据中国汽车工业协会统计分析,2013年上半年,中国品牌乘用车共销售356.67万辆,同比增长13.19%,结束上年下降趋势,占乘用车销售总量的41.16%,占有率较上年同期下降0.23个百分点。上半年,德系、日系、美系、韩系
质量类突发性品牌危机是指在企业发展过程中,由于企业自身的失误,或是内部管理工作中的缺陷,造成产品在质量上出现问题,从而引发的突发性品牌危机。技术类突发性品牌危机是指已经投放市场的产品,由于设计或制造技术方面的原因,造成产品存在缺陷,不符合相关法规、相关标准
TheStoneage,theIronage.Entireepochshavebeennamedformaterials.Sowhattonamethedecadesahead?Thechoicewillbe
Oneofthebest-knownproverbsmustbe"earlytobed,earlytorise,makesamanhealthy,wealthy,andwise."Thepromisesofhe
最新回复
(
0
)