资源描述:
《经典c语言笔试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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);*/ { printf("fileA
3、cannotbeopened"); 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("fileBcannotbeopened"); exit(0); } printf("Bcontentsare:
4、");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]; c[j]=c[j+1]; c[j+1]=t; } } }printf("C
5、fileis:");fp=fopen("C","w");for(i=0;i#includevoidBubbleSort(intarr[],intn){ inti,j; intexchange=1;/
6、/交换标志,提高算法效率; inttemp; for(i=0;iarr[j]) { temp=arr[j+1]; arr[j+1]=arr[j]; arr
7、[j]=temp; exchange=1;//发生了交换,故将交换标志置为真 } } if(!exchange)//本趟排序未发生交换,提前终止算法 return; }}intmain(intargc,char*argv[]) { intarr[5]={1,4,2,6,5}; inti; BubbleSort(arr,5); printf("aftersort,arris:"
8、); for(i=0;i<5;i++) { printf("%3d",arr[i]); } return1; }77.写出二分查找的代码: Intbinary_search(int*arr,intkey,intsize){ Intmid; Intlow=0;Inthigh=size-1;While(low<=high) { Mid=(low+high)/2; If(arr[mid]>key) High=mid-1; ElseIf(arr[
9、mid]<