首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在
admin
2019-03-19
103
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #define N 16
3 typedef struct
4 { char num[10];
5 int s;
6 } STREC;
7 void fun(STREC a[])
8 {
9 }
10 main()
11 {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}};
12 int i;FILE *out;
13 fun(s);
14 printf(’’The data after sorted:\n’’);
15 for(i=0;i<N;i++)
16 { if((i)%4==0)printf(’’\n’’);
17 printf(’’%s%4d’’,s
.num,s
.s);
18 }
19 printf(’’\n’’);
20 out=fopen(’’out.dat’’,’’w’’);
21 for(i=0;i<N;i++)
22{if((i)%4==0&&i)fprintf(out,’’\n’’);
23 fprintf(out,’’%4d’’,s
.s);}
24 fprintf(out,’’\n’’);
25 fclose(out);}
选项
答案
1 STREC tmp; 2 int i,j; 3 for(i=0;i<N;i++) 4 for(j=i+1;j<N;j++) 5 if(a[i].s<a[j].s){ 6 tmp-a[i]; 7 a[i]=a[j]; 8 a[j]=tmp;}
解析
(1)在fun函数中,通过循环对成绩记录进行排序。(2)首次查找到最大的记录,第二次循环查找第二大的记录,依次实现对成绩记录的排序。
转载请注明原文地址:https://kaotiyun.com/show/OBRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有以下定义:strucksk{inta;floatb;}data;int*p;若要使p指向data中的a域,正确的赋值语句是()。
下面对C语言的描述中,正确的是
有下列程序:main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}
下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是()。#include<stdio.h>main(){chars1[]="chinese",s2[]="japnese";
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}prin
函数voidfun(float*sn,intn)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于或等于0。请填空。voidfun(float*sn,intn){
软件工程研究的内容主要包括:【】技术和软件工程管理。
有如下程序 #include<stdio.h> main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16)); int i,s=0; for(i=0;i<4;i++)s+=a[i
在结构化方法中,软件功能分解属于软件开发中的______阶段。
函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,s
随机试题
A.前庭膜B.基底膜C.蜗管D.鼓阶E.前庭阶声音感受器所在的部位是()。
若想将工作表中第2行到第5行,第2列到第6列之间的所有单元格数据求平均,公式可写为()。
男性尿道分为
防水层应铺设到变形缝两侧砌体的()。
年终结账后,总账和日记账应当更换新账,明细账一般也应更换,但有些明细账,如固定资产明细账可以连续使用,不必每年更换。( )
按照企业所得税的有关规定,下列各项应计入收入总额的有()。
政府在市场经济中的基本作用,是弥补市场的缺陷和矫正市场的失灵。()
甲3月12日在乙公司笔试,3月28日进行面试,4月8日开始上班,5月2日与乙公司建立劳动合同,建立劳动关系的时间为()。
Inthisageofadclutterandjunkmail,entrepreneursarefindingthatoneoftheeasiestwaystoconnectwithcustomersisto
TheUnitedKingdomisa______monarchy.
最新回复
(
0
)