首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分
admin
2020-06-16
59
问题
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#define N8
typedef struct
{char num[10];
double s[N];
double ave;
}STREC;
void fun(STREC*a)
{
}
main()
{STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};
int i;
void NONO();
fun(&s);
printf("The%s’s student data:\n",s.num);
for(i=0;i<N;i++)
printf("%4.1f\n",s.s
);
printf("\nave=%7.3f\n",s.ave);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*out;
int i,j;STREC s[10]={
{"GA005",85.5,76,69.5,85,91,72,64.5,87.5},
{"GA001",82.5,66,76.5,76,89,76,46.5,78.5},
{"GA002",72.5,56,66.5,66,79,68,46.5,58.5},
{"GA003",92.5,76,86.5,86,99,86,56.5,88.5},
{"GA004",82,66.5,46.5,56,76,75,76.5,63.5},
{"GA006",75.5,74,71.5,85,81,79,64.5,71.5},
{"GA007",92.5,61,72.5,84,79,75,66.5,72.5},
{"GA008",72.5,86,73.5,80,69,63,76.5,53.5},
{"GA009",66.5,71,74.5,70,61,82,86.5,58.5},
{"GA010",76,66.5,75.5,60,76,71,96.5,93.5},
};
out=fopen("out.dat","w");
for(i=0;i<10;i++){
fun(&s
);
fprintf(out,"%7.3f\n",s
.ave);
}
felose(out);
}
选项
答案
void fun(STREC*a) { int i; a->ave=0.0: for(i=0;i<N;i++)a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/ a->ave/=N;/*求平均分*/ }
解析
本题考查自定义形参的相关知识点,程序流程是这样的:在fun()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC*a,此时,引用成员的方式可以使用指向运算符,即a->ave和a->s
,当然也可用(*a).ave和(*a).s
。
转载请注明原文地址:https://kaotiyun.com/show/Dz3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列给定程序中,函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。例如,若k=10,则应输出3628800。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10。请在程序的下画线处填入正确的内容并把下画线删
给定程序中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。例如,当a所指字符串中的内容为"abedefg",b所指字符串中
下列给定程序中,函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在
给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参s所指的字符串为:ThisisaClan.guageprogram.,函数的返回值为6。请
下列定义数组的语句中正确的是()。
下列叙述中正确的是()。
下列叙述中正确的是()。
以下不合法的数值常量是()。
随机试题
对于喉的淀粉样变性来说,不正确的是
男性,45岁,因胃、十二指肠溃疡穿孔继发腹膜炎,下列最有利于预防膈下感染的护理措施是
尿感抗菌药治疗后细菌尿转阴,停药后1周和1月复查无细菌尿尿感治疗后复查细菌尿转阴
下列各项税金中,构成相关成本的有( )。
计算财产转让所得应纳税所得额时,可以扣除的项目是( )。
20世纪80年代以来,各国银行间的竞争日益激烈,而西方各国关于银行资本定义不统一,资本充足率也没有规范标准。1988年7月,美国、英国、法国、加拿大等12国的中央银行达成巴塞尔协议。根据上述资料,回答下列问题:巴塞尔协议规定核心资本包括(
目前,我国由于升学竞争和就业竞争的现实性矛盾,学校教育陷入应试教育的模式中,而这种竞争也影响到学前教育阶段,如社会上风行的“零岁方案”“神童方案”。一些家长和幼教机构难以摆脱这种短视的教育做法,表现为重知识灌输轻能力培养、重智力培养轻人格因素培养等错误倾向
设有序表中的元素为13,18,24,35,47,50,62,则在其中利用二分查找法查找值为24的元素需要经过()次比较。
一个人对人、对事、对物的态度是()
初步调查是可行性分析的第一步。一般来说,初步调查的最佳方式为()。
最新回复
(
0
)