猎豹移动(金山网络)2015校园招聘(c++project师)
生活随笔
收集整理的這篇文章主要介紹了
猎豹移动(金山网络)2015校园招聘(c++project师)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.已知類MyString的原型為:
class MyString{
public:MyString(const char *str=NULL);//普通構(gòu)造函數(shù)
MyString(const MyString);//拷貝構(gòu)造函數(shù)
~MyString(void);//析構(gòu)函數(shù)
MyString&operator=(const MyString);//賦值構(gòu)造函數(shù)
private:char *m_c_data;//用于保存字符串
};請(qǐng)編寫MyString的上述4個(gè)函數(shù)。
程序猿面試寶典p112
class MyString { public:MyString(const char *str=NULL);//普通構(gòu)造函數(shù)MyString(const MyString &other);//拷貝構(gòu)造函數(shù)~MyString(void);//析構(gòu)函數(shù)MyString&operator=(const MyString &other);//賦值構(gòu)造函數(shù) private:char *m_data;//用于保存字符串 };MyString::MyString(const char *str)//構(gòu)造函數(shù) {if(str==NULL){m_data=new char[1];*m_data='\0';}else{int length=strlen(str);m_data=new char[length+1];strcpy(m_data,str);} }MyString::~MyString(void)//析構(gòu)函數(shù) {delete [] m_data;//因?yàn)閙_data是內(nèi)部數(shù)據(jù)類型,也能夠?qū)懗鰀elete m_data; }MyString::MyString(const MyString &other)//拷貝構(gòu)造函數(shù) {int length=strlen(other.m_data);m_data=new char[length+1];strcpy(m_data,other.m_data); }MyString&MyString::operator=(const MyString &other)//賦值函數(shù) {if(this==&other)//檢查自賦值return *this; delete [] m_data;//釋放原有的內(nèi)存資源int length=strlen(other.m_data);//分配新的內(nèi)存資源,并復(fù)制內(nèi)容m_data=new char[length+1];strcpy(m_data,other.m_data); return *this;//返回本對(duì)象的引用 }2.請(qǐng)將兩個(gè)數(shù)據(jù)序列合并成一個(gè)有序并無同樣元素的數(shù)據(jù)。 如s1[5]={23,14,62,57,24},s2[5]={14,19,10,14,25}
運(yùn)行后輸出10,14,19,23,24,25,57,62
注:不能夠使用庫(kù)函數(shù)
#include<iostream> using namespace std; int main() {int s1[5]={23,14,62,57,24},s2[5]={14,19,10,14,25};int s3[10],i,j,k,t;int flag;s3[0]=s1[0];k=1;for(i=1;i<5;i++){flag=1;for(j=0;j<k;j++){if(s1[i]==s3[j]){flag=0;break;}}if(flag==1)s3[k++]=s1[i];}for(i=0;i<5;i++){flag=1;for(j=0;j<k;j++){if(s2[i]==s3[j]){flag=0;break;}}if(flag==1)s3[k++]=s2[i];}for(i=0;i<k-1;i++){for(j=0;j<k-1-i;j++){if(s3[j]>s3[j+1]){t=s3[j];s3[j]=s3[j+1];s3[j+1]=t;}}}for(i=0;i<k;i++){cout<<s3[i]<<" ";}return 0; }3.打印一個(gè)N*N的方陣。N為每邊字符的個(gè)數(shù)(3<N<20),要求最外層為“A”,第二層為“B”。從第三層起每層依次打印數(shù)字0,1,2,3,……樣例:當(dāng)N=5。打印出以下的圖形
AAAAA
ABBBA
AB0BA
ABBBA
AAAAA
#include<cstring> #include<iostream> using namespace std; int main() {int N;int i,j,k,m;char a[20][20];cin>>N;for(i=0;i<(N+1)/2;i++){ if(i==0) {for(j=0;j<N;j++) a[j][i]=a[i][j]=a[j][N-i-1]=a[N-i-1][j]='A';}else if(i==1){for(j=1;j<N-i;j++) a[j][i]=a[i][j]=a[N-i-1][j]=a[j][N-i-1]='B';}else {for(j=i;j<N-i;j++) a[j][i]=a[i][j]=a[N-i-1][j]=a[j][N-i-1]=i-2+'0';}} for(i=0;i<N;i++){for(j=0;j<N;j++){cout<<a[i][j]<<" ";}cout<<endl;}return 0; }紙上敲代碼。都沒寫對(duì)~有的時(shí)候真是快崩潰,找不到工作的憂傷~誰(shuí)能懂
總結(jié)
以上是生活随笔為你收集整理的猎豹移动(金山网络)2015校园招聘(c++project师)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 第一篇:python简介和
- 下一篇: 【转】android之在activity