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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

经典c语言笔试题.docx

1、经典c语言笔试题100、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中.#include#includeint main(int argc,char* argv) FILE* fp; int i,j,k,num,NUM; char c50,t,ch;if(fp=fopen(A,r)=NULL) /*can be replaced by open * int fd=open(A,O_RDONLY|O_CREAT);*/ printf(fileA cannot be openedn); exit(0); printf(nA content

2、s are:n);for(i=0;(ch=fgetc(fp)!=EOF;i+)/*一个字符一个字符读*/ ci=ch; putchar(ci); num=i+1;fclose(fp);if(fp=fopen(B,r)=NULL) printf(fileB cannot be openedn); exit(0); printf(nB contents are :n);for(i=0;(ch=fgetc(fp)!=EOF;i+) cnum+i=ch; putchar(cnum+i); fclose(fp);NUM=num+i+1;for(k=0;kNUM-1;k+)/*冒泡排序*/ for(j=0

3、;jcj+1) t=cj; cj=cj+1; cj+1=t; printf(nC fileis:n);fp=fopen(C,w);for(i=0;iNUM;i+) putc(ci,fp);/*将字符一个个写入文件中*/ putchar(ci);/*一个个输出字符*/fclose(fp);return 1; 86.有一浮点型数组A,用C语言写一函数实现对浮点数组A进行降序排序,并输出结果,要求要以数组A作为函数的入口.(建议用冒泡排序法)#include#includevoid BubbleSort(int arr, int n) int i,j; int exchange = 1;/交换标志,

4、提高算法效率; int temp; for(i=0;in-1;i+) exchange=0;/本趟排序开始前,交换标志应为假 for(j=0;j arrj) temp=arrj+1; arrj+1=arrj; arrj=temp; exchange=1; /发生了交换,故将交换标志置为真 if(!exchange) /本趟排序未发生交换,提前终止算法 return; int main(int argc,char* argv) int arr5=1,4,2,6,5; int i; BubbleSort(arr, 5); printf(after sort,arr is :n); for(i=0;

5、i5;i+) printf(%3d,arri); return 1; 77.写出二分查找的代码:Int binary_search(int* arr,int key,int size) Intmid; Intlow=0;Int high=size-1;While(lowkey) High=mid-1; ElseIf(arrmidkey) Low=mid+1; Else Return mid;Return -1;补充1:用帅选法查找100之内的质数#include using namespace std;#define N 100int main() /*0100共101个数*/ int sie

6、veN + 1; int i; /step 1:初始化(sievei = 0 表示不在筛中,即不是质数;1表示在筛中) sieve0=sieve1=0; for(int i = 2; i = N; i+) sievei = 1; /step 2:偶数(2的倍数)肯定不是质数,所以应该先筛除 for(i = 2; i = N / 2; i+) sievei * 2 = 0; int p = 2; /第一个质数是2 /step 3:从sieve中删去P的倍数 while(p * p = N) p = p + 1; /选下一个p while(sievep = 0) p+; int t = p * p

7、; int s = 2 * p;/*质数与质数之和包含合数,但质数于合数之和必为质数,提高算法效率*/ while(t = N) sievet = 0; /删除 t = t + s; /step 4:输出结果for(i = 2; i = N; i+) if(sievei != 0) coutidata;p-prior-next=p-next;p-next-prior=p-pror;free(p);p=NULL;/勿忘,否则内存泄露return OK;/插入操作StatusListInsert_DuL(DuLinkList&L,inti,ElemType&e)if(!(p=GetElemP_Du

8、L(L,i)return ERROR;if(!(s=(DuLinkList)malloc(sizeof(DuLNode)return ERROR; /*assert(s=(DuLinkList)malloc(sizeof(DuLNode)!=NULL)*/s-data=e;s-prior=p;p- next - prior =s;p-next=s;s-next=p-next-next;return OK;88、把一个链表反向。/链表头插法;intre_Link(Linklist H) Linklist p=H-next,q; H-next=NULL; while(p!=NULL) q=p; p

9、=p-next;q-next=H-next; H-next=q; return 0; strcpy 和memcpy 76.已知strcpy函数的原型是char *strcpy(char*strDest, const char *strSrc);其中strDest是目的字符串,strSrc是源字符串。(1)不调用C+/C 的字符串库函数,请编写函数strcpy。char* stringcpy(char* Des,const char* Src)assert(Des!=NULL) & (Src!=NULL);char* address=Des;while(*Des+=*Src+)!=0);return address;断言assert是一个宏,该宏在assert中,当使用assert时候,给他个参数,即一个判读为真的表达式。预处理器产生

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

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