前段时间做的部分笔试题和答案(提醒自己) 编写一函数实现数组的递归求和 #include < stdio.h > #include " config.h " int sum( int A[],size_tn) {if(1==n){return1;}else{returnsum(&A[n-1],n-1)+n;}} int main( void ) {intA[]={1,2,3,5,9,1};printf("%d/n",sum(A,ARRAY_LENGTH(A)));return0;} 头文件config.h的内容如下: #ifndefCONFIG_H #define CONFIG_H #define ARRAY_LENGTH(x)sizeof(x)/sizeof(x[0]) #endif 编写一函数实现str到long的转换 #include < stdio.h > #include < string .h > #include < assert.h > long str2long( const char * str) {longresult=0;while('/0'!=*str){result=result*10+(*str-'0');++str;}returnresult;} int main( void ) {char*str="1234";printf("/n%d/n",str2long(str));return0;} 上面的代码没有考虑负数^_^ 实现strcpy函数 char * mystrcpy( char * dst, const char * src) {assert(NULL!=dst&&NULL!=src);while(*dst++=*src++);returndst;} int main( void ) {char*dst[20];char*src="test";mystrcpy(dst,src);puts(dst);return0;} 判断一个整数是否是回文 long symm( long n) {longi,m;m=0;i=n;while(i){m=m*10+i%10;i/=10;}return(n==m?1:0);} 实现Insertion sort #include < stdio.h > #include < string .h > typedef int ElemType; void InsertionSort(ElemTypeA[],size_tn) {inti;intpass;ElemTypetmp;for(pass=1;pass<n;pass++){tmp=A[pass];for(i=pass;i>0&&A[i-1]>tmp;i--){A[i]=A[i-1];}A[i]=tmp;}} int main( void ) {inti;ElemTypeA[]={1,2,4,8,6,98,11,25,44,35};puts("Beforesort:");for(i=0;i<sizeof(A)/sizeof(ElemType);i++){printf("%d",A[i]);}printf("/n");InsertionSort(A,sizeof(A)/sizeof(ElemType));puts("Aftersort:");for(i=0;i<sizeof(A)/sizeof(ElemType);i++){printf("%d",A[i]);}printf("/n");return0;}