




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 选择题 CCBBDCADACDBCDB二、 简答题1、 有,全局变量储存在静态数据库,局部变量在堆栈2、 满二叉树:也称丰满二叉树,一棵深度(高度)为h且有 2h-1个结点的二叉树;不完全二叉树:前n层满足完全二叉树结构,第n-1层不满足完全二叉树结构的叫做不完全二叉树平衡二叉树:被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树;。3、 O(n2);分析过程:假设排序的数共有n个,共需要进行n趟排序,第一趟排序要比较的次数为n-1次,第二趟排序要比较的次数为n-2次,依次类推,最后一趟排序比较次数为1次,所以比较次数为1+2+3+(n-1)=n*(n-1)/2,这个时间复杂度为O(n2)。4、 区别:全局变量,全局有效,局部变量,局部有效;能重命名,局部会屏蔽全局。要用全局变量,需要使用:5、 可以,可以在不同的C文件中以static形式来声明同名全局变量。6、 方法1:int main()char* src = hello,world;int len = strlen(src);char* dest = (char*)malloc(len+1);/要为0分配一个空间char* d = dest;char* s = &srclen-1;/指向最后一个字符while( len- != 0 )*d+=*s-;*d = 0;/尾部要加0printf(%sn,dest);free(dest);/ 使用完,应当释放空间,以免造成内存汇泄露return 0;方法2:#include #include main()char str=hello,world;int len=strlen(str);char t;for(int i=0; ilen/2; i+)t=stri; stri=strlen-i-1; strlen-i-1=t;printf(%s,str);return 0;三、 程序设计题(每小题10分, 共30分)【程序1】题目:求07所能组成的奇数个数。程序源代码:main()long sum=4,s=4;int j;for(j=2;j=8;j+)/*j is place of number*/ printf(n%ld,sum);if(j1)break;if(n%2=0)printf(Even=);sum=dcall(peven,n);elseprintf(Odd=);sum=dcall(podd,n);printf(%f,sum);float peven(int n)float s;int i;s=1;for(i=2;i=n;i+=2)s+=1/(float)i;return(s);float podd(n)int n;float s;int i;s=0;for(i=1;i=n;i+=2)s+=1/(float)i;return(s);float dcall(fp,n)float (*fp)();int n;float s;s=(*fp)(n);return(s);【程序3】题目: 编写学生管理系统,以文件形式对学生信息进行管理,实现学生的增删改查,要求设计过程中体现面向对象思想。#include #include struct S char name20; /*姓名*/int number; /*学号*/float score_yuwen; /*语文成绩*/ float score_shuxue; /*数学成绩*/float score_yingyu; /*英语成绩*/T; /*建立学生成绩信息的结构体*/*信息维护=将学生信息数据以文件的形式保存*/void writefile(T *student,int n) FILE *fp; int i,j; if(fp=fopen(d:kanwei.txt,w+)=NULL) printf(cant open file); exit(0); for(i=0;i=n;i+) fprintf(fp,%s %d %f %f %fn,,studenti.number,studenti.score_yuwen,studenti.score_shuxue,studenti.score_yingyu); fclose(fp); /* 信息维护=增加学生信息 */void add(T*student,int n) int I; printf(输入要增加的学生的姓名、学号、语文成绩、数学成绩、英语成绩:); scanf(%s %d %f %f %fn,studentn+1.name,&studentn+1.number,&studentn+1.score_yuwen,&studentn+1.score_shuxue,&studentn+1.scor_yingyu); getchar(); while(studentn+1.number!=0) /*输入学号为0时退出*/ if(student.number=NULL) printf(n没有任何学生资料!n); return(sutdent); endiffor(i=0;i=n;i+)if(studentn+1.number=studenti.number)printf(“此学生已存在!n”);else if(studentn+1.numberstudenti.number)student=studenti;studenti=studentn+1;studentn+1=student;break;for(;inumber&p1-next!=NULL) /*p1指向的不是所要找的首结点,并且后面还有结点*/ p2=p1;p1=p1-next; /*p1后移一个结点*/ if(number=p1-number) if(p1=head) head=p1-next; /*若p1指向的是首结点,把后一个结点地址赋予head*/else p2-next=p1-next; /*否则将下一个结点地址赋给前一结点地址*/ printf(删除:%dn,number);n=n-1; else printf(%d不存在此学生!n,number); /*找不到该结点*/ endif printf(已经删除了!n) printf(现在的学生数为:%d个!n,n); return(head); /*信息维护=修改学生信息*/void modify(T *student,int n,) delet(student,n,); addfile(student,n); /*信息查询=按学生姓名查询*/int find1(T *student,int n,int *tp) char name20; int i; printf(“输入要查询的学生的名字:”); scanf(“%s,namen”); for(i=0;i=20;i+) if(name=) printf(“此学生的信息:%s %d %f %f %fn”,,studenti.number,studenti.score_yuwen,studenti.score_shuxue,studenti.score_yingyu); else printf(“无此学生信息!请重新输入:n”); find1(T*student,int n,int *tp); return()/*信息查询=按学生学号查询*/int find2(T *student,int n,int *tp) int number; int i; printf(“输入要查询的学生的学号:”); scanf(“%d”,number); for(i=0;iscore2) i=score1; score1=score2; score2=i; if(class=yuwen) yuwen(T*student,n+1,score1,score2); if(class=shuxue) shuxue(T*student,n+1,score1,score2); if(class=yingyu) yingyu(T*student,n+1,score1,score2);/*=按语文成绩统计=*/void yuwen(T*student,int n+1,int score1,int score2) int i,j,a,b; for(i=0;i=n;i+) for(j=0;jstudentj.score_yuwen) studentn+1=studenti; studenti=studentj; studentj=studentn+1; for(i=0;i=n;i+) if(studenti.score_yuwen=score1) a=i; if(studenti.score_yuwen=score2) b=i; for(i=a;i=b;i+) printf(“%s %d %f %f %fn”,,studenti.number,studenti.score_yuwen,studenti.score_shuxue,studenti.score_yingyu); return()/*=按数学成绩统计=*/void shuxue(T*student,int n+1,int score1,int score2) int i,j,a,b; for(i=0;i=n;i+) for(j=0;jstudentj.score_shuxue) studentn+1=studenti; studenti=studentj; studentj=studentn+1; for(i=0;i=n;i+) if(studenti.score_shuxue=score1) a=i; if(studenti.score_shuxue=score2) b=i; for(i=a;i=b;i+) printf(“%s %d %f %f %fn”,,studenti.number,studenti.score_yuwen,studenti.score_shuxue,studenti.score_yingyu); return()/*=按英语成绩统计=*/void yingyu(T*student,int n+1,int score1,int score2) int i,j,a,b; for(i=0;i=n;i+) for(j=0;jstudentj.score_yingyu) studentn+1=studenti; studenti=studentj; studentj=studentn+1; for(i=0;i=n;i+) if(studenti.score_yingyu=score1) a=i; if(studenti.score_yingyu=score2) b=i; for(i=a;i=b;i+) printf(“%s %d %f %f %fn”,,studenti.number,studenti.score_yuwen,studenti.score_shuxue,studenti.score_yingyu); return()/*=显示成绩=*/void display(T *student,int *tp,int n) int i,j; char a3= ; printf(*n); printf( name number grade class average ordern); for(i=0;in;i+) printf(-n); printf(%d:n,i+1); printf( %s %d %d %d %f %dn,,studenttpi.number,studenttpi.grade,studenttpi.class,studenttpi.average,tpi+1); printf(m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重难点解析人教版八年级上册物理声现象《噪声的危害和控制》专项测试试题(含答案及解析)
- 中级钳工职称考试题库及答案
- 考点解析-人教版八年级上册物理物态变化《温度》同步测评试卷(含答案详解版)
- 红岩中考试题及答案详解
- 一级裁判理论考试题库及答案
- 2025年消防执业资格考试题库(消防应急救援装备)消防设施检验试题及答案
- 独立承包协议书范本
- 2025年宁波市事业单位招聘考试综合类公共基础知识真题模拟试卷
- 2025年合肥市事业单位招聘考试综合类专业能力测试试卷(审计类)真题模拟详解及预测
- 2025年南京市事业单位招聘考试综合类专业能力测试试卷(物流类)真题模拟训练
- 2025呼和浩特市总工会社会工作者、专职集体协商指导员招聘29人考试参考试题及答案解析
- 第三节 区域联系与区域协调发展教学设计高中地理湘教版2019选择性必修2-湘教版2019
- 国开《离散数学》大作业及答案
- 湘潭、成都工厂VDA63-2023审核员培训考核附有答案
- SCA涂胶机内部培训资料课件
- 【高中班会】高一选科指导课件
- 万千教育学前08岁儿童纪律教育给教师和家长的心理学建议
- 职高新思政-第五课:推动高质量发展
- 2011年普通高等学校招生全国统一考试理综(上海卷)
- 四等水准测量观测记录计算表
- 境外道路货物运输应急预案
评论
0/150
提交评论