首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。 注意
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。 注意
admin
2020-04-18
31
问题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 8
struct slist
{double s;
Struct slist *next;
};
typedef struct slist STREC;
double fun(STREC *h)
{
}
STREC * creat(double *s)
{STREC *h,*P,*q;int 2=0;
h=p=(STREC*)malloc(sizeof(STREC));
P一>s=0;
while(i
{q=(STREC*)malloc(sizeof(STREC));
q一>s=s
; i++; P一>next=q;P=q;
}
P一>next=0;
return h;
}
outliSt(STREC *h)
{STREC *P;
P=h一>next;printf(“head”);
do
{printf(“一>%4.1f”,p->s);p=p->
next ;}
while(P!=0);
printf(“\n\n”);
}
main()
{double S[N]={85,76,69,85,91,72,
64,87},ave;
void NONO();
STREC *h;
h=creat(S);outliSt(h);
ave=fun(h);
printf(“ave=%6.3f\n”,ave),
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FTLE *in,*out;
int i,j; double S[N],ave;
STREC *h;
in=fopen(“in.dat”,“r”);
out=fopen(“out.dat”,“W”);
for(i=0;i<10;i++) {
for(j=0;j
“%1f,”,&S[j]);
h=creat(S);
ave=fun(h);
fprintf(out,“%6.31f\n”,ave);
}
fclose(in);
fclose(out);
}
选项
答案
sTREC*p=h一>next; /*由于头结点中没有存放数据*/ double av=0.0; /*对计算成绩平均值的变量进行初始化*/ int n=0; while(p!=NuLL){/*判断链表是否结束*/ av=av+p一>s ; /*对成绩进行累加*/ p=p一>next; /*到下一个结点位置*/ n++; /*人数加1*/ } av/=n; /*计算成绩平均值*/ return av; /*返回成绩平均值*/
解析
(1)首先定义存放平均值的变量,并对其初始化。
(2)在循环中,依次取链表中存放的成绩,并对其求和。
(3)最后计算平均值,并返回值。
转载请注明原文地址:https://jikaoti.com/ti/uzG0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidfun2(chara,charb)main(){printf("%c%c",a,b);}{fun1();chara=’A’,b=’B’;printf("%c%c",a,b);
以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零)#includemain(){FILE*fp;longnum=0;fp=fopen("fname.dat","r");w
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为
以下关于逻辑运算符两侧运算对象的叙述中正确的是
有以下程序,程序的输出结果是main(){intsum,pad,pAd;sum=pad=5:pAd=++sum,pAd++,++pad;printf("%d\n",pad);}
若变量均已正确定义并赋值,以下合法的C语言赋值语句是
在进行逻辑设计时,将E—R图中实体之间联系转换为关系数据库的()。
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。函数fun的功能是将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制整数值返回。该串长度最大不超过15。例如,若表示
给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
随机试题
下列情形中会使企业减少股利分配的有()。
竹沥入汤剂,其用法是
胺碘酮的作用是
张某于2002年在商标局注册了“科特”商标用于自己生产的鞋子上,2006年张某发现李某将自己的注册商标用于鞋子上,于是向法院起诉,要求李某赔偿。下列说法正确的是?
房屋因买卖、赠予、交换、继承等原因致使其权属发生转移而进行的登记属于()。
设置固定资产类别。编码:003名称:机器使用年限:10年净残值率:5%预设折旧方法:平均年限法
产销量较稳定的企业适用的预测分析方法是()。
在城市规划的前期要进行城市用地的建设条件评价是因为要()。
屈原是我国第一位有名姓可考的伟大诗人。
A、Thetimerangeofthestudy.B、Thenumberofwomenfollowed.C、Theresultofthestudy.D、Thedecreaserateofdisease.B本题设题点
最新回复
(
0
)