ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:23.77KB ,
资源ID:8274292      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8274292.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言上机题库百科园第八章南信大.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言上机题库百科园第八章南信大.docx

1、C语言上机题库百科园第八章南信大第八章以下叙述中正确的是()若有以下语句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指向

2、c。则能把c插入到a和b之间形成新的链表的语句是( )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的花括号中填入所编写的若干语句。试题程序:*

3、/ #include#include#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) S

4、TREC *p; p=h-next; 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(w

5、f);/*/【参考代码】 double 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; av

7、e=fun(s,h,&n); printf(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

8、(wf, %s %4.1fn,hi.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; S

10、TREC sN= GA005,85,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;

11、low=t; n=fun(s,h,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

12、;in;i+) fprintf(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,则他的平均分应当是7

13、8.875。 注意:部分源程序给出如下。请勿改动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,

14、s.num); /*输出学号*/ 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

15、10typedef struct 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

16、RESULT*n); printf(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所指的数组中。注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意:部分源程序给出如下

17、。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include # define N 16typedef struct char num10; int s; STREC;int fun (STREC *a,STREC *b)/*Begin*/*End*/void main() STREC sN=GA05,85,GA03,76,GA02,69,GA04,85,GA01,91, GA07,72,GA08,64, GA06,87,GA015,85,GA013,91, GA012,64,GA014,91,GA011,91,GA017,64,G

18、A018,64,GA016,72; STREC hN; int i,n; FILE *out; n=fun(s,h); printf(The %d lowest score:n,n); for(i=0;in;i+) printf(%s %4dn,hi.num,hi.s); printf(n); /*/ out=fopen(debugout22.dat,w); fprintf(out,%dn,n); for(i=0;in;i+) fprintf(out,%4dn,hi.s); fclose(out); /*/【参考代码】 int i,j=0,n=0,min; min=a0.s; for(i=0;

19、iN;i+) if(ai.smin) min=ai.s; for(i=0;iN;i+) if(ai.s=min) *(b+j)=ai;j+;n+; return n; /*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: */#include#define N 8typedef struct char num10;

20、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; STREC hN; int i,n; double ave; ave=fun(s,h,&n); printf(The %d student data which is lower than %7.3f:n , n,ave); for(i=

21、0;in;i+) /*输出成绩低于平均值的学生记录*/ printf(%s %4.1fn ,hi.num,hi.s); printf(n );/*/ wf=fopen(debugout30.dat,w); fprintf(wf, %d %7.3fn,n,ave); for(i=0;in;i+) fprintf(wf, %s %4.1fn,hi.num,hi.s); fclose(wf);/*/【参考代码】 int i,j=0; double av=0.0; for(i=0;iN;i+) av=av+ai.s; av=av/N; /*求平均值*/ for(i=0;iN;i+) if(ai.sav

22、) bj+=ai; /*将低于平均值的学生记录存入结构体b中*/ *n=j; /*指针传回低于平均值的学生人数*/ return av; /*返回平均值*/ /*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 注意: 部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序: */#include #define N 16 typedef struc

23、t char num10; int s; STREC; int fun( STREC *a, STREC *b ) /*Begin*/ /*End*/ int main() STREC sN=GA05,85,GA03,76,GA02,69,GA04,85, GA01,91,GA07,72,GA08,64,GA06,87, GA015,85,GA013,91,GA012,64,GA014,91, GA011,77,GA017,64,GA018,64,GA016,72; STREC hN; int i,n;FILE *out ; n=fun(s,h); printf(The %d highest score :n,n); for(i=0;in; i+) printf(%s %4dn,hi.num,hi.s); printf(n); out = fopen(debugout.dat,w); for(i=0;in; i+) fprintf(out, %s %dn,hi.num,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1