首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某学生的记录由学号、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
66
问题
某学生的记录由学号、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的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
请编写函数fun,其功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如,若二维数组中的数据为WWWWSSSSHHH
下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到C所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“ABcd”,则c中的字符串应为“a
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参y所指数组中,在主函数中输出。例如,有10个正数:46、30、32、40、6、17、45、15、48、26,其平
请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#defin
下列叙述中错误的是()。
表达式(int)((double)9/2)-9%2的值是()。
以下叙述中错误的是()。
若有定义语句doublea,*P=&a;,下列叙述中错误的是()。
随机试题
某施工承包商与设备租赁公司签订了施工机械租赁合同,则承包商应要求该设备租赁公司提供的文件不包括()。
一切商品对于商品生产者而言,最重要的是商品的()
以下关于促胰液素促进胰液分泌的叙述哪一项是正确的()。
女,生后1天,足月顺产,于生后20小时出现黄疸,肝、脾不大,母血型为“O”型,女儿血型为“A”型。患儿血清胆红素171μmol/L(10mg/dl)。做何检查进一步确诊
A.精神分裂症B.脑器质性精神病C.症状性精神病D.情感性精神病E.神经症下列症状最常见于上述哪种疾病言语性幻听,意识清晰时出现
接触麻疹后多长时间行被动免疫可预防麻疹
取用无菌溶液,正确的是
隧道洞内为一字坡,进出口同时是时,有一个进口端应当采用()。
镇政府打算为群众搞一些文化活动,邀请了演出团体,要你去接洽招待,你会怎么做?
下列关于计算机分类,叙述错误的是
最新回复
(
0
)