欢迎来到天天文库
浏览记录
ID:37677150
大小:73.00 KB
页数:10页
时间:2019-05-28
《竞赛题(难)答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、选择题CCBBDCADACDBCDB二、简答题1、有,全局变量储存在静态数据库,局部变量在堆栈2、满二叉树:也称丰满二叉树,一棵深度(高度)为h且有2^h-1个结点的二叉树;不完全二叉树:前n层满足完全二叉树结构,第n-1层不满足完全二叉树结构的叫做不完全二叉树平衡二叉树:被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一 棵空 树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树;。3、O(n^2);分析过程:假设排序的数共有n个,共需要进行n趟排序,第一趟排序要比较的次数为n-
2、1次,第二趟排序要比较的次数为n-2次,依次类推,最后一趟排序比较次数为1次,所以比较次数为1+2+3+…+(n-1)=n*(n-1)/2,这个时间复杂度为O(n^2)。4、区别:全局变量,全局有效,局部变量,局部有效;能重命名,局部会屏蔽全局。要用全局变量,需要使用"::"5、可以,可以在不同的C文件中以static形式来声明同名全局变量。6、方法1:intmain(){char*src="hello,world";intlen=strlen(src);char*dest=(char*)malloc(len+1);//要为 分配一个空间
3、char*d=dest;char*s=&src[len-1];//指向最后一个字符while(len--!=0)*d++=*s--;*d=0;//尾部要加 printf("%s",dest);free(dest);//使用完,应当释放空间,以免造成内存汇泄露return0;}方法2:#include#includemain(){charstr[]="hello,world";intlen=strlen(str);chart;for(inti=0;i4、i]=str[len-i-1];str[len-i-1]=t;}printf("%s",str);return0;}三、程序设计题(每小题10分,共30分)【程序1】题目:求0—7所能组成的奇数个数。程序源代码:main(){longsum=4,s=4;intj;for(j=2;j<=8;j++)/*jisplaceofnumber*/{printf("%ld",sum);if(j<=2)s*=7;elses*=8;sum+=s;}printf("sum=%ld",sum);}【程序2】题目:编写一个函数,输入n为偶数时,调用函数求5、1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)程序源代码:main()#include"stdio.h"main(){floatpeven(),podd(),dcall();floatsum;intn;while(1){ scanf("%d",&n); if(n>1) break;}if(n%2==0){ printf("Even="); sum=dcall(peven,n);}else{ printf("Odd="); sum=dcall(podd,n);}printf("%f"6、,sum);}floatpeven(intn){floats;inti;s=1;for(i=2;i<=n;i+=2) s+=1/(float)i;return(s);}floatpodd(n)intn;{floats;inti;s=0;for(i=1;i<=n;i+=2) s+=1/(float)i;return(s);}floatdcall(fp,n)float(*fp)();intn;{floats;s=(*fp)(n);return(s);}【程序3】题目:编写学生管理系统,以文件形式对学生信息进行管理,实现学生的增删改查,要求设计过7、程中体现面向对象思想。#include#includestructS{charname[20];/*姓名*/intnumber;/*学号*/floatscore_yuwen;/*语文成绩*/floatscore_shuxue;/*数学成绩*/floatscore_yingyu;/*英语成绩*/}T;/*建立学生成绩信息的结构体*//*信息维护========将学生信息数据以文件的形式保存*/voidwritefile(T*student,intn){FILE*fp;inti,j;if((fp=fopen8、("d:\kanwei.txt","w+"))==NULL){printf("can'topenfile");exit(0);}for(i=0;i<=n;i++)fprintf
4、i]=str[len-i-1];str[len-i-1]=t;}printf("%s",str);return0;}三、程序设计题(每小题10分,共30分)【程序1】题目:求0—7所能组成的奇数个数。程序源代码:main(){longsum=4,s=4;intj;for(j=2;j<=8;j++)/*jisplaceofnumber*/{printf("%ld",sum);if(j<=2)s*=7;elses*=8;sum+=s;}printf("sum=%ld",sum);}【程序2】题目:编写一个函数,输入n为偶数时,调用函数求
5、1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)程序源代码:main()#include"stdio.h"main(){floatpeven(),podd(),dcall();floatsum;intn;while(1){ scanf("%d",&n); if(n>1) break;}if(n%2==0){ printf("Even="); sum=dcall(peven,n);}else{ printf("Odd="); sum=dcall(podd,n);}printf("%f"
6、,sum);}floatpeven(intn){floats;inti;s=1;for(i=2;i<=n;i+=2) s+=1/(float)i;return(s);}floatpodd(n)intn;{floats;inti;s=0;for(i=1;i<=n;i+=2) s+=1/(float)i;return(s);}floatdcall(fp,n)float(*fp)();intn;{floats;s=(*fp)(n);return(s);}【程序3】题目:编写学生管理系统,以文件形式对学生信息进行管理,实现学生的增删改查,要求设计过
7、程中体现面向对象思想。#include#includestructS{charname[20];/*姓名*/intnumber;/*学号*/floatscore_yuwen;/*语文成绩*/floatscore_shuxue;/*数学成绩*/floatscore_yingyu;/*英语成绩*/}T;/*建立学生成绩信息的结构体*//*信息维护========将学生信息数据以文件的形式保存*/voidwritefile(T*student,intn){FILE*fp;inti,j;if((fp=fopen
8、("d:\kanwei.txt","w+"))==NULL){printf("can'topenfile");exit(0);}for(i=0;i<=n;i++)fprintf
此文档下载收益归作者所有