首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
admin
2021-02-25
72
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N8
struct slist
{
double s;
struct sliSt*next;
};
typedef struct slist STREC;
double fun(STREC*h)
{
}
STREC*treat(double*s)/*创建链表*/
{
STREC*h,*p,*q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->S=0;
while(i<N)
{
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!=NULL);
printf("\n\n");
}
void main()
{
double s[N]={85,76,69,85,91,72,64,87},ave;
STREC*h;
h=creat(s);outlist(h);
ave=fun(h);
printf("ave=%6.3f\n",
ave);
}
选项
答案
double fun(STREC*h) { double av=0.0; STREC*p=h->next;/*p直接指向“头结点”的下一个结点,即第一个成绩*/ while(p!=NULL) {av=av+p->s;/*求总分数*/ p=p->next; } return av/N;/*返回平均值*/ }
解析
题目要求求链表中数据域的平均值,应首先使用循环语句遍历链表,求各结点数据域中数值的和,再求平均数。遍历链表时应定义一个指向结点的指针p,因为“头结点”中没有数值,所以程序中让p直接指向“头结点”的下一个结点,使用语句STREC*p=h->next;。
转载请注明原文地址:https://kaotiyun.com/show/DBtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是()。structSTR{intn;inta[20];};voidf(structSTR*p){inti,j,t;for(i=0;i一1;i++)for(j=i+1;jn;j++)if(p一>a[i]>p一>
表示学生选修课程的关系模式是SC(S#,C#,G),其中S#为学号,C#为课程号,G为成绩,检索选修了课程号为2的课且成绩不及格的学生学号的表达式是
学校的每个社团都有一名团长,且一个同学可同时担任多个社团的团长,则实体团长和实体社团间的联系是
有以下程序:#include<stdio.h>main(){inti:char*a[]={"abcd","ef","gh","ijk"};for(i=0;i<c4;i一+)printf("%c",*a[i]);}
若有以下定义:intx[10],*pt=x;则对x数组元素的正确引用是()。
若有以下语句:intn;floatf=13.8;则执行n=(int)f%3;后,n的值是()。
以下叙述中正确的是()。
设有定义语句:doublea,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处口代表一个空格):□□1.0□□2.0□□3.0<回车>则能进行正确输入的语句是()。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
下面对对象概念描述正确的是
随机试题
目前临床常用的终止早期妊娠的药物为__________与__________配伍。
患者,男,62岁。支气管肺癌手术切除病灶后准备出院。在进行出院健康指导时,应该告诉患者出现哪种情况时必须尽快返院就诊
根据《中华人民共和国合同法》的规定,在租赁合同中,因第三人主张权利,致使承租人不能对租赁物使用、收益的,承租人可以()。
增值税一般纳税人之间,只要发生销售货物和应税劳务的,就应当向购买方开具专用发票。()
在财政实拨资金方式下,事业单位在收到财政补助收入时,借记“零余额账户用款额度”科目,贷记“财政补助收入”科目。()
2017年张某和郝某进入甲公司工作,主要从事室外装潢工作,郝某的工资为2000元/月,张某的工资为3700元/月,公司给缴纳五险一金,已知当地职工月平均工资为3500元。11月2日,在进行室外工作中,郝某和张某刷涂料时,因刮大风使脚手架发生严重倾斜,二人均
通常情况下,生产者通过提高某产品单位销售价格而增加其销售收入的前提条件是该产品的()。
下列选项中,不属于错账查找方法的是()。
GDP由()、投资和净出口三大部分构成。
一条笔直的林荫道两旁种植着梧桐树,同侧道路每两棵梧桐树间距50米。林某每天早上七点半穿过林荫道步行去上班,工作地点恰好在林荫道尽头。经测试,他每分钟步行70步,每步大约50厘米,每天早上八点准时到达工作地点。那么,这条林荫道两旁栽种的梧桐树其有多少棵?
最新回复
(
0
)