首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。 例如,输入的分数是60 69,则应当把分数在60到69的学生数
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。 例如,输入的分数是60 69,则应当把分数在60到69的学生数
admin
2013-04-02
53
问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
例如,输入的分数是60 69,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。
注意:部分源程序在文件PROGl.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define N 16
typedef struct
{char num[10];
int s;
} STREC;
int fun(STREC *a,STREC *b,int l, int h)
{
}
main()
{STREC s[N]={{"GA005",85},{"GA003",76}, {"GA002",69},{"GA004",85},{"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91},{"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}};
STREC 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 between %d--%d :\n",low,heigh);
for(i=0;i
printf("%s %4d\n",h
.num,h
.s);
printf("\n");
out = fopen("out.dat","w");
n=fun(s,h,80,98);
fprintf(out,"%d\n",n);
for(i=0;i
for(j=i+1;j
if(h
.s>h[j].s) {tt=h
;h
=h[j]; h[j]=tt;}
for(i=0;i
fprintf(out,"%4d\n",h
.s);
fprintf(out,"\n");
fclose(out);
}
选项
答案
{ int i,j=0; for(i=0; i
=l&&a[i].s<=h)b[j++]=a[i]; return j; }
解析
(1)在for循环过程中,利用if条件表达式“if(a
.s>= l&&a
.s<=h)”逐个判断学生结构体中的成绩元素是否满足题目中的范围。
(2)将符合条件的结果存入指定数组,并对统计变量进行加1操作。
转载请注明原文地址:https://kaotiyun.com/show/yDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 int fun1 (double a){return a*=a;} int fun2 (double x,double y) { double a=0,b=0; a=fun1
若有以下定义和语句 union date { int i; char c; fioat f;} x; int y; 则以下语句正确的是______。
下列定义变量的语句中错误的是______。
以下程序的输出结果是【 】。#include<string.h>main(){chara[]={’\1’,’\2’,’\3’,’\4’,’\0’};printf("%d%d\n",sizeof(a),strlen(a)
若有说明语句:intx=3,y=4,z=5;,则下面的表达式中,值为0的是______。
若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是() inta[]={1,2,3,4,5,6,7,8,9,0}; int*p,I p=a;
十进制数269转换成十六进制数是()
十六进制数BB转换成十进制数是()
对于建立良好的程序设计风格,下面描述正确的是()。
在软件开发中,下面任务不属于设计阶段的是______。
随机试题
A.白膜B.睾丸小隔C.睾丸网D.睾丸输出管E.输精管从睾丸头端走出进入附睾头的是
抹灰应分层进行,每遍厚度宜为()mm。
下列关于施工文件立卷的说法,正确的是()
对于混凝土重力坝溢流面高程放样的精度,一般应()。
给定资料 1.近年来,创业一词已经成为大众关注的热点,在众多创业团队里,90后群体以其高学历、年轻、接受新事物快而成为一股不可忽视的重要力量。前不久,某网站邀请了几位90后创业者,分享自己的创业心得。1992年出生的小尹已经开了三家公司。为了弄明白,“
下列关于汽车行驶的表述不正确的是()。
下列关于拐卖妇女、儿童罪的说法正确的有()。
1/2
下面哪种不属于办公自动化所必须的基本设备?
WhatdoIKD’sclientslikeaboutthecompany’slocation?
最新回复
(
0
)