<<程序员面试金典>>的题
2016-02-23 21:20
399 查看
去国图,偶尔翻动一下面试题,于是记录自己感兴趣的。
面试金典1:给定两个两个排序好的数组A和B,其中A 的末端有足够大的缓冲来容纳B,编写一个程序将B并入A 并且排序。
面试金典1:给定两个两个排序好的数组A和B,其中A 的末端有足够大的缓冲来容纳B,编写一个程序将B并入A 并且排序。
int * ABFindSorting(int aa[],int bb[],int lastA,lastB) { int index,A,B; index=lastA+lastB; while((lastA!=0)&&(lastB!=0)) { A=lastA; B=lastB; if(aa[A]>bb[B]) { aa[index]=aa[A]; A--; } else { aa[index]=bb[B]; B--; } if(B>0) { aa[index]=bb[B]; B--; } } return aa; }面试金典题2:输入三个字符串按照从小到大顺序输出。
#include<stdio.h> #include<string.h> void swap(char *str1,char *str2) { char str[100]; strcpy(str,str1); strcpy(str1,str2); strcpy(str2,str); } int main() { char str1[20],str2[20],str3[20]; printf("please enter your three string str1,str2,str3:\n"); gets(str1); gets(str2); //在程序编译的时候会报警告 gets(str3); if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0)swap(str1,str3); if(strcmp(str2,str3)>0)swap(str2,str3); printf("%s %s %s",str1,str2,str3); return 0; }