首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 注意:部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 注意:部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的
admin
2019-09-02
63
问题
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
注意:部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
#define N 10
typedef struct ss
{ char num[10];int s;}STU;
void fun(STU a[],STU*s)
{
}
main()
{STU a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}},m;
int i;VOid NONO();
printf(*****The original data *****\n");
for(i=0;i<N;i++)printf("No
=%s Mark=%d\n",a
.num,a
.s);
fun(a,&m);
printf("*****THE RESULT*****\n");
printf("The lowest:%s,%d\n",
m.num,m.s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
STU a[N],m;
int i;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i =0 ; i < 10;i++)fscanf(rf, "%s %d", a
.num,&a
.s);
fun(a,&m);
fprintf(wf,"The
lowest:%s, %d\n",m.num,m.s);
fclose(rf);
fclose(wf); }
选项
答案
int i,min=a[0].s,j=0; for(i=1;i<N;i++) if(min>a[i].s){/*如果最低分min仍大于当前分*/ j=i;/*记住位置*/ min=a[i].s;/*把当前分赋值给min*/ } *s=a[j];
解析
(1)首先指定第一个成绩为最低分数。
(2)再使用一个for循环把所有的成绩进行比较,找出最低的分数来。
转载请注明原文地址:https://jikaoti.com/ti/ZYf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。请在程序的
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。注意:部分源程序在文件PROGl.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参P已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*
给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为:"abcdabfabedx",
给定程序MODI1.C中fun函数的功能是:将P所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。例如,若输入"Iamastudenttotaketheexamination.",
有以下程序#inchdeintfuna(inta,intb){returna+b;)intfunb(inta,intb){returna-b;}intsss(int(*t)(),intx,inty){retur
在软件开发中,需求分析阶段产生的主要文档是
不能正确表示数学式的表达式是
若以下选项中的变量a,b,y均已正确定义并赋值,则语法正确的switch语句是
若要求从键盘读入含有空格字符的字符串,应使用函数
随机试题
乙肝肝硬化的体征有()
了解骨肿瘤对软组织、软骨的破坏情况,最好选择
(2008年案例分析第79—82题)甲公司与乙公司签订合同,约定由乙公司为甲公司制造、安装一套预氧化炉,并负责预氧化炉的一代,甲公司支付加工费100万元,其中设备交付后支付80万元,安装调试合格后付清剩余加:E费。乙公司如期交付了设备,甲公司支付了80万元
正常C30混凝土的波速范围一般在()。
物流拉动控制的特点是()。
如图,矩形ABCD中,AB=3,BC=4,沿对角线BD将△ABD折起,使A点在平面BCD内的射影落在BC边上,若二面角C-AB-D的平面角大小为θ,则sinθ的值等于()
下列情形违背一物一权原则的是()。
自古以来,读书都是件私密甚至有些孤独的事。但带有上网功能电子书的兴起在很大程度上改变了人们的这种阅读______,使其变得可以______且日益公开化。过去,书商和作者无从知晓一本书读者是翻了前三页还是一口气读完?现在,通过线上电子书商店和阅读器,书商们几
(2018年吉林)户外运动可以促进骨骼的健康,这是因为太阳光中的某种频率的电磁波可以促成维生素D的活化,促进身体吸收食物中钙和磷,从而促进骨骼的生长。这种电磁波是()。
以下是计算两个向量点积的程序段:floatdotproduet(floatx[8],floaty[8]){floatSum=0.0;inti;for(i=0,i
最新回复
(
0
)