C语言上机题库百科园第八章南信大.doc
《C语言上机题库百科园第八章南信大.doc》由会员分享,可在线阅读,更多相关《C语言上机题库百科园第八章南信大.doc(24页珍藏版)》请在咨信网上搜索。
1、第八章以下叙述中正确的是()若有以下语句typedefstruct Sint g; char h;T;A.可用T定义结构体变量B.T是struct S类型的变量C.可用S定义结构体变量D.S是struct类型的变量当定义一个结构体变量时,系统分配给它的内存是( )。A.结构体中最后一个成员所需内存量B.成员中占内存量最大的容量C.结构体中第一个成员所需内存量D.各成员所需内存量的总和若有以下定义:struct linkint data;struct link *next;a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构,若指针p指向a,指针q指向c。则能把c插入到a和b之间形成
2、新的链表的语句是( )A.p-next=&c;q-next=p-next;B.p.next=q;q.next=p.next;C.p-next=q; q-next=&b;D.a.next=c; c.next=b;/*N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。 注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/ #include#inclu
3、de#define N 8struct 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(is=si;i+;p-next=q;p=q; p-next=0; return h;outlist(STREC *h) STREC *p; p=h-nex
4、t; printf(head ); do printf(-%4.1f ,p-s); p=p-next; /*输出各成绩*/ while(p!=NULL); printf(nn);void main() FILE *wf; double sN=85,76,69,85,91,72,64,87,ave; STREC *h; h=creat(s); outlist(h); ave=fun(h); printf(ave=%6.3fn ,ave);/*/ wf=fopen(debugout25.dat,w); fprintf(wf,%6.3fn,ave); fclose(wf);/*/【参考代码】 dou
5、ble av=0.0; STREC *p=h-next; /*p直接指向头节点的下一个节点,即第一个成绩*/ while(p!=NULL) av=av+p-s; /*求总分数*/ p=p-next; return av/N; /*返回平均值*/ /*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,该函数的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: */#
6、include # define N 12typedef struct char num10; double s; STREC;double fun (STREC *a,STREC *b, int *n)/*Begin*/*End*/void main() FILE *wf; STREC sN=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 hN,t; int i,j,n; double ave; ave=fun(s,h,&n); p
7、rintf(The %d student data which is higher than %7.3f:n,n,ave); for(i=0; in; i+)printf(%s %4.1fn,hi.num,hi.s); printf(n); for(i=0; in-1; i+) for(j=i+1;jn;j+) if(hi.shj.s) t=hi;hi=hj;hj=t; /*分数从高到低排列*/*/ wf=fopen(debugout29.dat,w); fprintf(wf, %d %7.3fn,n,ave); for(i=0; in; i+) fprintf(wf, %s %4.1fn,h
8、i.num,hi.s); fclose(wf);/*/【参考代码】 int i; double av=0.0; *n=0; for(i=0;iN;i+) av=av+ai.s; av=av/N; /*求平均值*/ for(i=0;iN;i+) if(av=ai.s) b*n=ai;*n=*n+1; /*将高于等于平均分的学生存入b所指存储单元中,并统计人数*/ return av; /*返回平均分*/ /*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。例如,
9、输入的分数是60和69,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中把60放在low中,把69放在heigh中。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: */#include #define N 16typedef struct char num10; int s ;STREC;int fun (STREC *a, STREC *b, int l, int h )/*Begin*/*End*/void main () FILE *wf; STREC sN= GA005,8
10、5,GA003,76,GA002,69,GA004,85, GA001,96,GA007,72,GA008,64,GA006,87, GA015,85,GA013,94,GA012,64,GA014,91, GA011,90,GA017,64,GA018,64,GA016,72; STREC hN,tt; int i, j,n, low, heigh, t; printf(Enter 2 integer number low & heigh: ); scanf(%d%d,&low,&heigh); if(heighlow) t=heigh;heigh=low; low=t; n=fun(s,h
11、,low, heigh); printf(The student s data between %d-%d:n ,low, heigh); for(i=0;in;i+) printf(%s %4dn ,hi.num, hi.s); /*输出指定分数范围内的学生记录*/ printf(n );/*/ n=fun(s,h,80,98); for(i=0;in-1;i+) /*分数在8098之间的学生记录按分数从低到高排列*/ for(j=i+1;jhj.s) tt=hi;hi=hj;hj=tt; wf=fopen(debugout26.dat,w); for(i=0;in;i+) fprintf(
12、wf, %s %4dn,hi.num, hi.s); fclose(wf);/*/【参考代码】 int i,j=0; for(i=0;i=l&ai.s=h) /*将分数高于l,低于h的学生记录存于结构体数组b中*/ bj+=ai; return j; /*返回分数范围内的学生人数*/ /*某学生的记录由学号、8门课成绩和平均分组成,学号和8门课的成绩已在主函数中给出。请编写fun函数,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。例如,若学生的成绩是85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应当是78.875。 注意:部分源程序给
13、出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: */#include #define N 8typedef struct char num10; double sN; double ave; STREC;void fun(STREC *p)/*Begin*/*End*/void main() FILE *wf; STREC s= GA005 ,85.5,76,69.5,85,91,72,64.5,87.5; int i; fun(&s); printf(The %ss student data:n, s.num); /*输出学号*/
14、 for(i=0;iave=0.0; for(i=0;iave=p-ave+p-si; /*求各门成绩的总和*/ p-ave=p-ave/N; /*求平均分*/ /*已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include#include#include#define N 10typedef struct
15、 ss char num10; int s; STU;fun(STU a, STU *s)/*Begin*/*End*/void main() FILE *wf; STU aN= A01,81, A02,89, A03,66, A04,87, A05,77, A06,90, A07,79, A08,61, A09,80, A10,71,m; int i; printf(*The original data*n); for(i=0;iN;i+) printf(No=%s Mark=%dn, ai.num,ai.s); fun(a,&m); printf(*THE RESULT*n); print
16、f(The lowest :%s, %dn,m.num,m.s);/*/ wf=fopen(debugout28.dat,w); fprintf(wf,%s %dn,m.num,m.s); fclose(wf);/*/【参考代码】 int i; *s=a0; /*先认为第1个值最小*/ for(i=0;isai.s) *s=ai; /*学生的记录由学生和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把分数最低的学生数据放在h所指的数组中。注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意:部分源程序给出如下。请勿改动main函数和其他函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 题库 百科 第八 章南信大
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。