首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。 例如,输入的分数是80和89,则应当把分数低于80和高于
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。 例如,输入的分数是80和89,则应当把分数低于80和高于
admin
2013-06-12
62
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是80和89,则应当把分数低于80和高于89的学生数据进行输出,不包含80分和89分的学生数据。主函数中把80放在low中,把89放在heigh中。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序
#include <stdio.h>
#define N 16
typedef struct
{char num[10];
int s;
}STREC;
int fun(STREC *a,STREC *b,int 1,int h)
{
}
main ()
{
STREC s[N]={{“GA005”,55},{“GA003”,96},
{“GA002”,80},{“GA004”,68},{“GA001”,88},
{“GA007”,74},{“GA008”,85},{“GA006”,99},
{“GA015”,90},{“GA013”,53},{“GA012”,66},
{“GA014”,82},{“GA0ll”,73},{“GA017”,69},
{“GA018”,64},{“GA016”,86}};
STEC h[N],tt;
FILE *out;
int i,j,n,low,heigh,t;
printf(“Enter 2 integer number low & heigh: ”);
scanf(“%d%d”,&low,&heigh);
if(heigh<low)
{
t=heigh;
heigh=low;
low=t;
}
n=fun(S,h,low,heigh);
printf(“The student ’S data out%d--%d:\n”,low,heigh);
for(i=0;i<n;i++)
printf("%s%4d\n",h
.num,h
.s);
/*输出指定分数范围内的学生记录*/
printf(“\n”);
out=fopen(“out23.dat”,“w”);
fprintf(out,“%d\n”,n);
n=fun(s,h,70,79);
for(i=0;i<n-1;i++)
/*分数在70~79之外的学生记录按分数从低到高排列*/
for(j=i+l;i<n;j十+)
if(h
.s>h[j].s)
{
tt=h
;
h
=h[j];
h[j]=tt;
}
for(i=0;i<n;i++)
fprintf(out,“%4d\n”,h
.s);
fprintf(out,“\n”);
fclose(out);
}
选项
答案
int fun (STREC *a, STREC *b, int l, int h) { int i,j=0; for(i=0;i<N;i++) if((a[i].s>=0&&a[i].s<1)||(a[i].s>h&&a[i].s<=100)) /*将各分数低于1,高于h的学生记录存于结构体数组b中*/ b[j++]=a[i]; return j; /*返回分数范围内的学生人数*/ }
解析
处理此类分段统计问题,可采用多分支选择语句或条件选择语句。此处采用条件选择语句解答,具体见参考答案。使用条件选择语句进行分段统计时应当注意分段范围。
转载请注明原文地址:https://kaotiyun.com/show/irJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是______。 main() { int i, x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2)printf("%d",p[i]); }
有以下程序 #include <stdio.h> main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL; *q=*(p+5); printf("%d %d\n",*p,*q); } 程序运
有以下程序 #define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,1
软件工程研究的内容主要包括:______技术和软件工程管理。
给定程序MODI1.C中函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据赋0~m-1的值。#include<Stdio.h>#include<conio.h>#include<stdlib.h>typed
以下与函数fseek(fp,OL,SEEK_SET)有相同作用的是______。
单链表要求内存中可用存储单元的地址______。
下列程序把数组元素中的最大值放入a[0]中。则在if语句中的条件表达式应该是______。main(){inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i,bfor(i=0:i<10:i++,p+
函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空#include<stdio.h>structnode{intdata;structn
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是
随机试题
兴奋性与抑制性突触后电位相同点是
A.第2趾内侧趾甲根角旁约0.1寸B.第2趾外侧趾甲根角旁约0.1寸C.第4趾内侧趾甲根角旁约0.1寸D.第4趾外侧趾甲根角旁约0.1寸E.第3趾内侧趾甲根角旁约0.1寸厉兑穴位于
大血藤来源于( )。
背景资料A安装工程公司承接一项炼厂罐区施工任务。工程包括新建6台4000m3丙烷球罐和4台4000m3丁烷球罐,施工内容有:球罐混凝土基础工程、球罐工程包括球罐组对、焊接、检验试验和丙烷球罐的整体热处理、系统管道工程等。项目部采用散装法组对球罐
一般而言,基金财务会计报告分析可以达到的目的是()。
第一种付款方式所付款项的现值为( )元。企业应采用上述( )付款方式。
某校研究生论文答辩前夕,学校接到举报,揭发某学院研究生A某读研期间发表的三篇学术论文均存在严重的抄袭情况。学校接到举报以后,立即组织专家组对A某的三篇论文进行审查,发现举报情况属实。经校研究生院与A某所在学院领导及A某的指导老师共同商量,决定对A某的学术不
根据右图判断,正确的描述是()。①对于组织细胞的正常生理活动,过程a较过程b和c更为重要②组织液中的CO2有害无益③组织液中的物质是有变化的④过程b或c受阻可导致组织水肿
根据公文写作要求,分条列项指出下面公文文稿存在的至少五处错漏。××市人民政府办公厅通报全体市民:据反映得知,近日来本市部分地区有一种令人人心惶惶的传说,称原流行于某国的恶性传染病
U.S.LifeExpectancyHitsNewHighLifeexpectancyratesintheUnitedStatesareatanall-timehigh,withpeoplebornin
最新回复
(
0
)