首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中。请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中。请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的
admin
2019-07-10
43
问题
学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中。请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 16
typedef struct
{
char hum[10];
int s;
}STREC;
void fun(STREC a[])
{
}
void main()
{
STREC s[N]=({“GA005”,85},
{“GA003”,76},{“GA002”,69},
{“GA004”,85},{“GA001”,91},
{“GA007”,72},{“GA008”,64},
{“GA006”,87},{“GA015”,85},
{“GA013”,91},{“GA012”,64},
{“GA014”,91},{“GA011”,66},
{“GA017”,64},{“GA018”,64},
{“GA016”,72}};
int i;
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”);
}
选项
答案
void fun(STREC a[]) { int i,j; STREC t; for(i=1,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个数进行排序的算法很多,其中最简单的排序算法是冒泡算法。利用双层for循环嵌套和一个if判断语句来实现,外层循环用来控制需比较的轮数,内层循环用米控制两两比较。
转载请注明原文地址:https://kaotiyun.com/show/pZID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
人类为了以后的安全或是不时之需而攒钱。但从整体来看,钱还是要花的。如果每个人都想攒钱,那么经济就无法正常运行了。____①____通过假设工作的人攒钱,退休的人花费积蓄,经济学解决了这一问题,利率让这两者达到了很好的平衡。____②____然而假设与现实大
学校需要对学生有________的判断与恰当的要求,不赶鸭子上架,更不应该哗众取宠,想让人人都成为有创造力的明星学生,胁迫误导家长;另外一方面,家长也需要明白,孩子的人生可以引导,但永远无法替代,在他们的成长道路上,我们要多用心、少用力,不择手段的帮扶、替
下列选项中诗句与所描述的事物对应不正确的是()。
论述华沙条约组织的形成背景、内容及其影响。(2016年统考真题)
夸美纽斯有关的教育学说,可称为()
分析教育哲学有助于教育理论研究严格地、正确地使用各种教育术语和概念。
下列选项中,属于自然法学派观点的是()。
下列叙述中,错误的是()。
有下列二叉树,对此二叉树前序遍历的结果为()。
下列关于完全二叉树的叙述中,错误的是()。
随机试题
除胰岛素外可以用于治疗1型糖尿病的肽类药物是______________。
人工代码评审不包括()
计算机网络按照配置划分为()。
2015年8月1日,将多余的库存现金50000元存入中行,请填制记账凭证。
银行接到票据贴现申请后,须审查贴现票据的商品性,即审查贴现申请人提供的证明票据商品性的证件,主要是要求提供()。
Inmyvillagealotofchildrenwereleavingschoolfor【M1】______variousreason.Somefamiliesaretoopoortosendtheirchild
下列各句中没有语病的是()。
杯里全是水,倒出装入纯酒精,又倒出装入纯酒精,再倒出装入纯酒精,问现在酒精浓度是多少?
有以下程序:#includeintfun(){staticintm=l;retumm*=3;}main(){inti=2,s=1;while(i一一)s=fun();printf(’’%d\n’’,s);}程序运行后的输出结
A、Somehomesareeasiertobreakinto.B、Peoplemayopendoorsforunexpectedvisitors.C、Criminalsknowpeoplearelessalerta
最新回复
(
0
)