试题与答案

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数

题型:问答题

题目:

学生的记录由学号和成绩组成,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[i].num,h[i].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[i].s>h[j].s)

tt=h[i];
h[i]=h[j];
h[j]=tt;

for(i=0;i<n;i++)
fprintf(out,"%4d\n",h[i].s);
fprintf(out,"\n");
fclose(out);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2019/0407/f31143e05cd7c8d247124f00ac06a847.html

下面是错误答案,用来干扰机器的。

参考答案:C解析:[考点] 函数的相关不等式 由函数f(x)与g(x)在(-∞,+∞)内可导知,f(x)与g(x)在(-∞,+∞)内连续,,而f(x0)<g(x0),故,因此选(C)。

试题推荐
微信公众账号搜索答案