首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。 注意:部分源程序在文件PROG1.C中。 请勿改动
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。 注意:部分源程序在文件PROG1.C中。 请勿改动
admin
2017-02-24
44
问题
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #include<string.h>
3 #include<conio.h>
4 #inclucle<stdlib.h>
5 #define N 10
6 typedef struct ss
7 {char num[10];
8 int s;
9 }STU;
10 fun(STU a[],STU*S)
11 {
12
13 }
14 void main()
15 {
16 FILE*wf;
17 STU a[N]={("A01",81},{"A02",89),{"A03",66},{"A04",87),{"A05",77),{"A06",90},{"A07",79),{"A08",61),{"A09",80},{"A10",71}},m;
18 int i;
19 system("CLS");
20 printf("*****The original data*****\n");
21 for(i=0;i<N;i++)
22 printf("No=%S Mark=%d\n",a
.num,a
.s);
23 fun(a,&m);
24 printf("****THE RESULT****\n");
25 printf(“The lowest:%S,%d\n",m.num,m.s);
26 /******************/
27 wf=fopen("out.dat","W");
28 fprintf(wf,"%s,%d",m.num,m.s);
29 fclose(wf);
30 /******************/}
选项
答案
fun(STU a[],STU *s) { int i ; *s=a[0];/*先认为第1个值最小*/ for(i=0;i<N;i++)/*如果在循环的过程中再发现比第1个值更小的则赋给*s*/ if(s->s>a[i].s) *s=a[i]; }
解析
找出结构体数组元素中的最小值。先认为第1个值最小,即*s=a[0];,如果在循环的过程中发现比第1个值更小的,就将指针s指向该元素,直到找到最小元素。另外,本题还涉及结构体中的指向运算符。
转载请注明原文地址:https://jikaoti.com/ti/72i0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是______。#definePOW(r)(r)*®main(){intx=3,y=2,t;t=POW(x+y);printf("%d\n",t);}
数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
有以下程序:intsub(intn){return(n/10+n%10);}main(){intx,y;scanf("%d",&x)y=sub(sub(sub(x)));printf("%d\n",y);}若运行时输入:1
下列程序运行时输入1234567<CR>,则输出结果是______。#include<stdio.h>main(){inta=1,b;scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);}
下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;<n;j++)i
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同S=1.0;k=1;while([8]
在C语言中,函数返回值的类型最终取决于
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
下面程序的功能是:计算110之间的奇数之和与偶数之和,请填空。#includemain(){inta,b,c,I;a=c=0;for(I=0;I
随机试题
Amajorincentive(动力)forcollegeattendanceisthebeliefthatitwillprepareyouforacareer.Chancesarethatthecareery
甲企业为增值税一般纳税人,委托外单位加工一批材料(属于应税消费品,且为非金银首饰)。该批原材料加工收回后用于继续生产应税消费品。则甲企业发生的下列各项支出中,会增加收回委托加工材料实际成本的有()。
下列各项可采用完工百分比法确认收入的是()。
《中华人民共和国教师法》于()起开始施行。
行政诉讼特有的基本原则是()。
完成全面建成小康社会和实现现代化的历史性任务,重点和难点都在()。
设随机变量X的分布函数为F(x)=则a=______,b=_____,c=______.
计算机系统中判别是否有中断事件发生应是在
用语句Open"C:\teac.txt"ForInputAs#1打开文件后,就可以编程序
行情()萧条市场价格暴涨()联系地点
最新回复
(
0
)