首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
2015-07-30
58
问题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中。h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.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 i=0;
h=p=(STREC *)malloc(sized(STREC));p->s=0;
while(i<N)
{q=(STREC*)malloc(sized(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;}
whilepP!=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()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE * in,* out;
int i,j;double s[N],ave;
STREC*h:
in=fopen("in.dat","t");
out=fopen("out.dat","w");
for(i=0;i<10;i++){
for(j=0;j<N;J++)fscanf(in,"%1f,",&s[j]);
h=ereat(s);
ave=fun(h);
fprintf(out,"%6.31f\n",ave);
}
fclose(in);
fclose(out);
}
选项
答案
"double fun(STREC*h){ double ave=0.0; STREC*p=h->next; while(p!=NULL){ave=ave+p->s; p=p->next; } retum ave/N; }
解析
本题考查:链表的操作,对链表的主要操作有以下几种:建立链表、结构的查找与输出、插入一个结点、删除一个结点。
题目要求求链表中数据域的平均值,应首先使用循环语句遍历链表,求各结点数据域中数值的和,再对和求平均分。遍历链表时应定义一个指向结点的指针p,因为“头结点”中没有数值,所以程序中让p直接指向“头结点”的下一个结点,使用语句STREC*p=h->next。
转载请注明原文地址:https://kaotiyun.com/show/ssDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#d越lieMIN-2147483647intfindmax(intX[],intn){inti,max;for(i=0;i
有以下程序#inculdemain(){inta=1,B=2,c=3,d=0;iF(a==1)iF(B!=2)iF(c==3)d=1;elsed=2;elseiF(c!=3)d=3;el
若有定义int(*pt)[3];,则下列说法正确的是
C语言用于结构化程序设计的3种基本结构是______、选择结构和循环结构。
若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件()。
下列二维数组初始化语句中,不正确的是()。
下列程序的运行结果为()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!=’\0’;i++)if
算法的空间复杂度是指_______。
设有以下定义:inta[3][3]={1,2,3,4,5,6,7,8,9};int(*Ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是_______。
若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。
随机试题
农民专业合作社情况统计中采用的统计方法是()。
书法是中国特有的一种传统文化及艺术,它是汉字书写的一种法则。下列成语中与书法无关的是()。
男性患者,33岁,高热,咳嗽1周,右下肺可闻及明显支气管呼吸音,X线胸片示右下肺大叶性肺炎。此患者病变为下列哪一期
主气的脏是主水的脏是
某急性白血病病人,皮肤有多处瘀斑,牙龈及鼻腔出血。护理该病人时,应避免()。
按照2009年增长率计算,2010年农村居民家庭人均工资性收入将达到()。
发展社会主义市场经济,既要发挥市场在资源配置中的决定性作用,也要发挥政府的经济职能和重要作用。《中共中央关于全面深化改革若干重大问题的决定》对加快转变职能,更好发挥政府作用作了全面部署。政府
-1/2
TodaytherearethreedifferentkindsofNewYorkers:thepeoplewhoactasiftheywerebornhere:thepeoplewhoarehereand
Theexperimentrequiresmoremoneythan_____.
最新回复
(
0
)