首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 注意:部分源程序在文件PROG1.C文
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 注意:部分源程序在文件PROG1.C文
admin
2017-07-27
62
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
注意:部分源程序在文件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 int fun(STREC *a,STREC *b)
8 {
9 }
10 main()
11 {STREC s[N]={{’’GA05’’,85},{’’GA03’’,76},{’’GA02’’,69},{’’GA04’’,85},{’’CA01’’,91},{’’GA07’’,72},(’’GA08’’,64},{’’GA06’’,87},{’’CA015’’,85},{’’CA013’’,91},{’’GA012’’,64},{’’GA014’’,91},{’’GA011’’,91},{’’GAO17’’,64},{’’GA018’’,64},{’’CA016’’,72}};
12 STREC h[N];
13 int i,n;FILE *out;
14 n=fun(s,h);
15 printf(’’The%d lowest score:\n’’,n);
16 for(i=0;i<n;i++)
17 printf(’’%s %4d\n’’,h
.num,h
.s);
18 printf(’’\n’’);
19 out=fopen(’’out.dat’’,’’w’’);
20 fprintf(out,’’%d\n’’,n);
21 for(i=0;i<n;i++)
22 fprintf(out,’’%4d\n’’,h
.s);
23 fclose(out);}
选项
答案
1 int i, j=0, min=a[0].s; 2 for(i=0 ; i<N; i++){ 3 if(min>a[i].s){ 4 j=0;b[j++]=a[i];min=a[i].s; 5 } 6 else if(min==a[i].s) 7 b[j++]=a[i]; 8 } 9 return j;
解析
(1)要把最低分数的学生数据放在数组中,首先求出最低分数,再使用一个for循环把所有的成绩进行比较,找出最低的分数来。
(2)找出所有与最低分数相等的学生,并将最低分数的人数累加。
转载请注明原文地址:https://kaotiyun.com/show/TKDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
实体完整性约束要求关系数据库中元组的属性值不能为空。
有以下程序#includemain(){unsignedchara=8,c:c=a>>3;printf(“%d\n”,c):}程序运行后的输出结果是
有以下程序#inclUdemain(){intx=1。y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;.prin
有以下程序段inti,n;for(i=0;i
若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是()。
以下叙述中正确的是()。
在关系模型中,若属性A是关系R的主码,属性A的取值不能为空,称为约束。
以下程序的输出结果是()。#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main()
以下程序的运行结果是()。#defineS(x)x*xmain(){intk=1;while(k<=4){printf("%d,",S(k));k++;}
下面的程序在编泽时产生错误,其出错原因是()。#include<stdio.h>main(){int1_case;floatprintF;printf("请输入2个数:");scanf("%d%f",&
随机试题
交警大队以方某闯红灯为由当场处以50元罚款,方某不服起诉。法院适用简易程序审理。关于简易程序,下列哪些说法是正确的?
急性粒细胞白血病的血象特点是
张某,Y市东城区人,在Y市南城区开办了一家煤块粉碎厂,并长期在厂内居住。是年,与A县燃料公司签订了一份加工煤粉协议书。双方约定:A县燃料公司每月向煤块粉碎厂提供500吨原煤,每次到货后半年,向该厂收取货款。煤单价为40元,合同期为一年半。次年,A县燃料公司
放大电路如题2—10图所示,设晶体管β=50,RC=1.5kΩ,UBE=0.6V,为使电路在可变电阻RW=0时,晶体管刚好进入饱和状态,电阻R应取何值?()
下列有关CIP术语的叙述,正确的是()。
为了防止客户将债务转嫁给银行,《支付结算办法》中规定了()。
包装物已作价随同货物销售,又另外收取押金并在规定期限内未予退还的押金,不应并入销售额计征增值税。()
一瓶浓度为80%的酒精溶液倒出后再加满水,再倒出后仍用水加满,再倒出后还用水加满,这时瓶中溶液的酒精浓度是()。
技术更新
Giventheadvantagesofelectronicmoney,youmightthinkthatwewouldmovequicklytothecashlesssocietyinwhichallpaymen
最新回复
(
0
)