利用递归调用手段编程计算N!答:#include<iostream>usingnamespacestd;intt;intn;intFind(intn){ if(n==1) { return1; } else { t=Find(n-1)*n; returnt; }}intmain(void){ cin>>n; intt=Find(n); cout<<n<<"!="<<t<<endl; return0;}。(设八进制数只有两位数的)#include<iostream>usingnamespacestd;unsignedintoct2dec(unsignedintoct){ returnoct/10*8+oct%10;}intmain(void){ unsignedintoct=0; unsignedintdec=0; cout<<”pleaseinputaoctetnumber(Besurethenumberyouinputisbeginwitha‘0’):”<<’\n’; cin>>oct; dec=oct2dec(oct); cout<<dec<<endl; return0;}(int*arr,intkey,intn){intlow=0;inthigh=n-1;intmid;while(low<=high){mid=(high+low)/2;if(arr[mid]>key)high=mid-1;elseif(arr[mid]<key)low=mid+1;elsereturnmid;} return-1;}*(*出现次数相当频繁char*strcpy(char*dest,constchar*src){assert((dest!=NULL)&&(src!=NULL));char*address=dest;while((*dest++=*src++)!='\0');returnaddress;}char*strcpy(char*strDest,constchar*strSrc) { char*strDestCopy=strDest;//[3] if((strDest==NULL)||(strSrc==NULL))//[1] throw"Invalidargument(s)";//[2] while((*strDest++=*strSrc++)!='\0');//[4] returnstrDestCopy;}*5实现strcmp函数#include<iostream>#include<string>#include<>usingnamespacestd;intstrcmp(constchar*str1,constchar*str2){assert((str1!=NULL)&&(str2!=NULL));intret=0;/* 转化为unsignedchar是为了防止溢出 例如(char)0x7f-(char)0x80=255,(unsignedchar)0x7f-(unsignedchar)0x80=-1*/while(!(ret=*(unsignedchar*)str1-*(unsignedchar*)str2)&&**str2!='\0'&&*str1!='\0'){str1++;str2++;}if(ret>0)ret=1;elseif(ret<0)ret=-1;returnret;}intmain(void){ cout<<strcmp("abd","abce")<<endl; return0;}*6string类的编写#include<iostream>usingnamespacestd;classString{ public: String(constchar*str=NULL); //普通构造函数 String(constString&other); //拷贝构造函数~String(void); //析构函数 String&operator=(constString&other);//赋值函数String&operate+(constString&s1,constString&s2);//加法函数 private: char*m_data;};//普通构造函数String::String(constchar*str){ if(str==NULL) { m_data=newchar[1]; *m_data='\0'; } else { intlenth=strlen(str); m_data=newchar[lenth+1]; strcpy(m_data,str); }}//拷贝构
程序员面试题(编程题) 来自淘豆网m.daumloan.com转载请标明出处.