C primer習題 第4章

2021-09-06 21:03:23 字數 4148 閱讀 6187

【習題 4.7】

編寫必要的**將乙個陣列賦給另乙個陣列,然後把這段**改用 vector 實現。 考慮如何將乙個 vector 賦給另乙個 vector。

用陣列實現:

#include using

namespace

std;

intmain( )

;

inta2[size];

for(size_t i=0; ii)

a2[i]=a1[i];

system(

"pause");

return0;

}

用vector實現:

#include #include 

using

namespace

std;

intmain( )

; vector

vec1(a,a+5

); vector

vec2;

for(vector::iterator it=vec1.begin(); it!=vec1.end(); ++it)

vec2.push_back(*it);

system(

"pause");

return0;

}

【習題 4.8】

編寫程式判斷兩個陣列是否相等,然後編寫一段類似的程式比較兩個 vector。

bool judge1(int *a, int *b, int

n)

return

true

;}

比較vector:

bool judge2(vector a, vectorb)

return

true

;}

【習題 4.9】

編寫程式定義乙個有 10 個 int 型元素的陣列,並以其在陣列中的位置作為各元素的初值。

#include using

namespace

std;

intmain( )

cout

"pause");

return0;

}

【習題 4.14】

編寫**修改指標的值;然後再編寫**修改指標所指物件的值。

#include #include 

#include

using

namespace

std;

intmain( )

【習題 4.18】

編寫程式,使用指標把乙個 int 型陣列的所有元素設定為 0。

#include using

namespace

std;

intmain( )

;

for(int*p=a; p5; p++)

*p=0

;

for(int *p=a; p5; p++)

cout

<<*p

"pause");

return0;

}

【習題 4.25】

編寫程式比較兩個 string 型別的字串,然後編寫另乙個程式比較兩個 c 風格字串的值。

#include #include 

using

namespace

std;

intmain( )

比較兩個 c 風格字串:

#include #include 

#include

using

namespace

std;

intmain( )

cout

<<"

enter two strings:

">s1>>s2;

intresult;

result=strcmp(s1,s2);

if(result>0

) cout

<<"\""

<"\""

<<"

is bigger than

"<<"\""

<"\""

if(result<0

) cout

<<"\""

<"\""

<<"

is bigger than

"<<"\""

<"\""

cout

<<"

thay are equal

"

delete s2;

system(

"pause");

return0;

}

【習題 4.28】

編寫程式由從標準輸入裝置讀入的元素資料建立乙個 int 型 vector 物件,然後動態建立乙個與該 vector 物件大小一致的陣列,把 vector 物件的所有元素複製給新陣列。

#include #include 

#include

using

namespace

std;

intmain( )

cout

<<"

符合要求的陣列為:";

for(int i=0; i)

cout

delete a;

system(

"pause");

return0;

}

【習題 4.30】

編寫程式連線兩個 c 風格字串字面值,把結果儲存在乙個 c 風格字串中。然後再編寫程式連線兩個 string 型別字串,這兩個 string 型別字串與前面 的 c 風格字串字面值具有相同的內容。

#include #include 

using

namespace

std;

intmain( )

改進後的**:

#include #include 

using

namespace

std;

intmain( )

【習題 4.31】

編寫程式從標準輸入裝置讀入字串,並把該串存放在字元陣列中。描述你的程式如何處理可變長的輸入。提供比你分配的陣列長度長的字串資料測試你的程式。

#include#include

#include

using

namespace

std;

intmain( )

【習題 4.32】

編寫程式用 int 型陣列初始化 vector 物件。

#include#include

using

namespace

std;

intmain( )

【習題 4.33】

編寫程式把 int 型 vector 複製給 int 型陣列。

#include#include

using

namespace

std;

intmain( )

【習題 4.34】

編寫程式讀入一組 string 型別的資料,並將它們儲存在 vector 中。接著,把該 vector 物件複製給乙個字元指標陣列。為 vector 中的每個元素建立乙個新的字元陣列,並把該 vector 元素的資料複製到相應的字元陣列中,最後把指向 該陣列的指標插入字元指標陣列。

#include#include

#include

#include

using

namespace

std;

intmain( )

for(i=0; i!=svec.size(); i++)

delete arr;

system(

"pause");

return0;

}

C Primer 第4章 習題4 34

讀入一組string型別的資料,並將它們儲存在vector中 接著,把該vector物件複製給乙個字元指標陣列。為vector中的每個元素建立乙個新的字元陣列,並把該vector元素的資料複製到相應的字元陣列中 最後把指向該陣列的指標插入字元指標陣列 include include includeu...

C Primer 第4章 習題4 35

讀入一組string型別的資料,並將它們儲存在vector中 接著,把vector物件複製給乙個字元指標陣列 為vector中的每個元素建立乙個新的字元陣列,並把該vector元素的資料複製到相應的字元陣列中 然後把指向該陣列的指標插入字元指標陣列中 輸出建立vector物件和陣列的內容 inclu...

C primer習題筆記第4章

1 解釋下列宣告語句,幵指出哪些是非法的,為什麼?d int ip,ip2 e const int i 0,p i 解答 d 合法。定義了 int 物件 ip2 和指向 int 型物件的指標 ip。e 合法。定義了 const int 型物件 i 和指向 const int 型物件的指標 p,i 初...