文档详情

C语言题库-第八章.doc

发布:2017-06-06约2.03万字共27页下载文档
文本预览下载声明
选择 以下叙述中正确的是() 若有以下语句   typedefstruct S   {int g; char h;}T; A.可用T定义结构体变量 B.T是struct S类型的变量 C.可用S定义结构体变量 D.S是struct类型的变量 当定义一个结构体变量时,系统分配给它的内存是( )。 A.结构体中最后一个成员所需内存量 B.成员中占内存量最大的容量 C.结构体中第一个成员所需内存量 D.各成员所需内存量的总和 ADC 程序设计 1, 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:*/ #includestdlib.h #includestdio.h #define N 8 struct slist { double s; struct slist *next; }; typedef struct slist STREC; double fun(STREC *h) { /***********Begin***************/ /***********End**************/ } STREC *creat(double *s) /*创建链表*/ { STREC *h,*p,*q; int i=0; h=p=( STREC*)malloc(sizeof(STREC)); p-s=0; while(iN) {q=( STREC*)malloc(sizeof(STREC)); q-s=s[i];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() { FILE *wf; 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); /******************************/ wf=fopen(debug\\out25.dat,w); fprintf(wf,%6.3f\n,ave); fclose(wf); /*****************************/ } 1,【参考代码】 double av=0.0; STREC *p=h-next; /*p直接指向头节点的下一个节点,即第一个成绩*/ while(p!=NULL) {av=av+p-s; /*求总分数*/ p=p-next; } return av/N; /*返回平均值*/ 2, /*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,该函数的功能是: 把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */ #include stdio.h # define N 12 typedef struct { char num[10]; double s; } STREC; double fun (STREC *a,STREC *b, int *n) { /*************Begin************/ /*************End*************/ } void main() { FILE *wf; STREC s[N]={{GA05,85},{GA03,76},{GA02,69},{GA04,85}, {GA01,91},{GA07,72},{GA08,64},{GA06,87}, {GA09,60},{GA11,79},{GA12,73},{GA10,90}}; STREC h[N],t; int i,j,n; double ave; ave=fun(s,h,n); printf(The %d student data w
显示全部
相似文档