首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返问。 例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78.625。 注意:部
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返问。 例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78.625。 注意:部
admin
2021-07-09
68
问题
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返问。
例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78.625。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#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(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://www.kaotiyun.com/show/XKtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中可用作C程序合法实数的是
若有定义:chars[30]={0};运行时输入:Thisisastring.<回车>则以下不能正确读入整个字符串Thisisastring.到字符数组s中的语句组是()。
以下叙述中正确的是
若有定义typedefint*T;Ta[10];则a的定义与下面哪个语句等价
有以下程序#includemain(){FILE*fp;charstr[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fp=fopen("myfile.dat","a+")
以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
有以下程序(注:字符a的ASCII码值为97)main(){char*s={"abc"};do{printf("%d",*s%10);++s;}while(*s);}程序运行后的输出结果是
下列关于数据库设计的叙述中正确的是()。
设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;若变量均已正确赋初值,则以下语句中错误的是
随机试题
文章中()可以独立成段。
关于米勒肌的叙述正确的是
深基坑施工中减少基坑回弹变形的有效措施有()。
下面几种说法中,不正确的是()。
Customer:______Clerk:Hereyouare.20dollars.
下列有关《大明律》的表述,正确的是()。
Thinkofthosefleetingmomentswhenyoulookoutofanaeroplanewindowandrealisethatyouareflying,higherthanabird.No
度为3的一棵树共有30个结点,其中度为3,1的结点个数分别为3,4。则该树中的叶子结点数为()。
若磁盘上已存在某个文本文件,其全路径文件名为d:\ncre\test.txt,下列语句中不能打开该文件的是
Whatmakesusthewayweare?Whyaresomepeoplepredisposedtobeanxiousoroverweight?Howisitthatsomeofusarepronet
最新回复
(
0
)