标题 | c经典笔试题 |
范文 | c经典笔试题 C是高级语言:它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。下面就由第一范文网小编为大家介绍一下c经典笔试题的文章,欢迎阅读。 c经典笔试题篇1 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中. #include #include int main(int argc,char* argv) { FILE* fp; int i,j,k,num,NUM; char c[50],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 opened\n"); exit(0); } printf("\nA contents are:\n"); 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("fileB cannot be opened\n"); exit(0); } printf("\nB contents are :\n"); 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;k { for(j=0;j { if(c[j]>c[j+1]) { t=c[j]; c[j]=c[j+1]; c[j+1]=t; } } } printf("\nC fileis:\n"); fp=fopen("C","w"); for(i=0;i { putc(c[i],fp);/*将字符一个个写入文件中*/ putchar(c[i]);/*一个个输出字符*/ } fclose(fp); return 1; } c经典笔试题篇2 有一浮点型数组A,用C语言写一函数实现对浮点数组A进行降序排序,并输出结果,要求要以数组A作为函数的入口.(建议用冒泡排序法) #include #include void BubbleSort(int arr, int n) { int i,j; int exchange = 1;//交换标志,提高算法效率; int temp; for(i=0;i { exchange=0;//本趟排序开始前,交换标志应为假 for(j=0;j { if(arr[j+1] > arr[j]) { temp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; exchange=1; //发生了交换,故将交换标志置为真 } } if(!exchange) //本趟排序未发生交换,提前终止算法 return; } } int main(int argc,char* argv) { int arr[5]={1,4,2,6,5}; int i; BubbleSort(arr, 5); printf("after sort,arr is :\n"); for(i=0;i<5;i++) { printf("%3d",arr[i]); } return 1; } c经典笔试题篇3 写出二分查找的代码: Int binary_search(int* arr,int key,int size) { Intmid; Intlow=0; Int high=size-1; While(low<=high) { Mid=(low+high)/2; If(arr[mid]>key) High=mid-1; ElseIf(arr[mid] Low=mid+1; Else Return mid; } Return -1; } 请编写一个C 函数,该函数在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成的。 #include #include #include int ChildString(char*p) { char* q=p; int stringlen=0, i=0,j=1,len=0,maxlen=1; //stringlen=strlen(p); while(*q!='\0') //不能用strlen,求得长stringlen { stringlen++; q++; } while( i< stringlen) { if(*(p+i)==*(p+j)&&j< stringlen) { len++; //统计子串长度 i++; j++; } else { if(len>=maxlen) //统计最大子串长度 { maxlen=len+1; len=0; } else len=0; i++; j++; } } return maxlen; } int main(int argc,char* argv) { char arr[11]; int len; printf("please input chararr(10):\n"); scanf("%s",arr); len=ChildString(arr); printf("the len of childarr is:%d\n",len); return 1; } |
随便看 |
|
范文大全网提供教案、简历、作文、工作总结等各类优秀范文及写作素材,是综合性免费范文平台。