欢迎来到天天文库
浏览记录
ID:55594795
大小:398.00 KB
页数:36页
时间:2020-05-19
《经典c语言笔试题.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、100、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中.#include#includeintmain(intargc,char*argv[]){ FILE*fp; inti,j,k,num,NUM; charc[50],t,ch; if((fp=fopen("A","r"))==NULL) /*canbereplacedbyopen *intfd=open("A",O_RDONLY
2、O_CREAT);*/
3、 { printf("fileAcannotbeopened"); exit(0); } printf("Acontentsare:"); for(i=0;(ch=fgetc(fp))!=EOF;i++)/*一个字符一个字符读*/ { c[i]=ch; putchar(c[i]); } num=i+1; fclose(fp);if((fp=fopen("B","r"))==NULL) { printf("fileBcannotbeopene
4、d"); exit(0); } printf("Bcontentsare:");for(i=0;(ch=fgetc(fp))!=EOF;i++) { c[num+i]=ch; putchar(c[num+i]); }fclose(fp);NUM=num+i+1;for(k=0;kc[j+1]) { t=c[j];
5、 c[j]=c[j+1]; c[j+1]=t; } } }printf("Cfileis:");fp=fopen("C","w");for(i=0;i6、序法)#include#includevoidBubbleSort(intarr[],intn){ inti,j; intexchange=1;//交换标志,提高算法效率; inttemp; for(i=0;iarr[j]) 7、 { temp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; exchange=1;//发生了交换,故将交换标志置为真 } } if(!exchange)//本趟排序未发生交换,提前终8、止算法 return; }}intmain(intargc,char*argv[]) { intarr[5]={1,4,2,6,5}; inti; BubbleSort(arr,5); printf("aftersort,arris:"); for(i=0;i<5;i++) { printf("%3d",arr[i]); } return1; }77.写出二分查找的代码: Intbinary_search(int*ar9、r,intkey,intsize){ Intmid; Intlow=0;Inthigh=size-1;While(low<=high) { Mid=(low+high)/2; If(arr[mid]>key) High=mid-1; ElseIf(arr[mid]<
6、序法)#include#includevoidBubbleSort(intarr[],intn){ inti,j; intexchange=1;//交换标志,提高算法效率; inttemp; for(i=0;iarr[j])
7、 { temp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; exchange=1;//发生了交换,故将交换标志置为真 } } if(!exchange)//本趟排序未发生交换,提前终
8、止算法 return; }}intmain(intargc,char*argv[]) { intarr[5]={1,4,2,6,5}; inti; BubbleSort(arr,5); printf("aftersort,arris:"); for(i=0;i<5;i++) { printf("%3d",arr[i]); } return1; }77.写出二分查找的代码: Intbinary_search(int*ar
9、r,intkey,intsize){ Intmid; Intlow=0;Inthigh=size-1;While(low<=high) { Mid=(low+high)/2; If(arr[mid]>key) High=mid-1; ElseIf(arr[mid]<
此文档下载收益归作者所有