日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

猎豹移动(金山网络)2015校园招聘(c++project师)

發布時間:2024/1/17 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 猎豹移动(金山网络)2015校园招聘(c++project师) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1.已知類MyString的原型為:

class MyString
{
public:MyString(const char *str=NULL);//普通構造函數
MyString(const MyString);//拷貝構造函數
~MyString(void);//析構函數
MyString&operator=(const MyString);//賦值構造函數
private:char *m_c_data;//用于保存字符串

};請編寫MyString的上述4個函數。

程序猿面試寶典p112

class MyString { public:MyString(const char *str=NULL);//普通構造函數MyString(const MyString &other);//拷貝構造函數~MyString(void);//析構函數MyString&operator=(const MyString &other);//賦值構造函數 private:char *m_data;//用于保存字符串 };MyString::MyString(const char *str)//構造函數 {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)//析構函數 {delete [] m_data;//因為m_data是內部數據類型,也能夠寫出delete m_data; }MyString::MyString(const MyString &other)//拷貝構造函數 {int length=strlen(other.m_data);m_data=new char[length+1];strcpy(m_data,other.m_data); }MyString&MyString::operator=(const MyString &other)//賦值函數 {if(this==&other)//檢查自賦值return *this; delete [] m_data;//釋放原有的內存資源int length=strlen(other.m_data);//分配新的內存資源,并復制內容m_data=new char[length+1];strcpy(m_data,other.m_data); return *this;//返回本對象的引用 }
2.請將兩個數據序列合并成一個有序并無同樣元素的數據。

如s1[5]={23,14,62,57,24},s2[5]={14,19,10,14,25}
運行后輸出10,14,19,23,24,25,57,62

注:不能夠使用庫函數

#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.打印一個N*N的方陣。N為每邊字符的個數(3<N<20),要求最外層為“A”,第二層為“B”。從第三層起每層依次打印數字0,1,2,3,……樣例:當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; }

紙上敲代碼。都沒寫對~有的時候真是快崩潰,找不到工作的憂傷~誰能懂

總結

以上是生活随笔為你收集整理的猎豹移动(金山网络)2015校园招聘(c++project师)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。