首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某学生的记录由学号、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
78
问题
某学生的记录由学号、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,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。注意:部分源程序在文件PROG1.C中。请勿改动main函数
下列给定程序中,函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(如“z”转化为“A”,“z”转化为“a”),其他字符不变。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得
已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和SHIn。13的值通过形参传入。例如,当n=10时,程序的输出结果应为23.197745。
给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。例如,若m中的值为5,则应输出0.536389。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删
下列叙述中正确的是()。
下列叙述中错误的是()。
若有定义语句doublea,*P=&a;,下列叙述中错误的是()。
随机试题
社会主义初级阶段的基本经济制度中要坚持公有制主体地位,那么公有制经济的比重越大越好。
A.半夏B.蒲黄C.两者均是D.两者均非孕妇不宜使用的药物是()
下列哪种物质中毒具有缺氧和抑制酶的活力双重中毒机制
下列地基处理方案中,属于复合地基做法的是:
将工作分解结构所分解的独立单元的工作责任赋予具体的部门和人员,从而在项目资源和项目工作之间建立了一种明确的目标责任关系,这就是项目管理的常用工具()。
取得建造师注册证书的人员()工程项目施工的项目经理。
银行业金融机构根据借款人的有效贷款需求,主要通过贷款人受托支付的方式,将贷款资金支付给符合合同约定的借款人交易对象的过程是指()
讲清同刑事犯罪作斗争是法律赋予每个公民的权利和义务,是每个热爱社会主义祖国的公民义不容辞的()。
根据担保法规定,下列情形不必经保证人同意而仍继续承担原保证责任的是()。
下面正确使用动态数组的是
最新回复
(
0
)