練習3.16:編寫一段程式,把練習3.13中vector物件的容量和具體內容輸出出來。檢驗你之前的回答是否正確,如果不對,回過頭重新學習3.3.1節(第87頁)直到弄明白錯在何處為止。
練習3.17:從cin讀入一組詞並把它們存入乙個vector物件,然後設法把所有詞都改寫為大寫形式。輸出改變後的結果,每個詞佔一行。
練習3.18:下面的程式合法嗎?如果不合法,你準備如何修改?
vector ivec;
ivec [0] = 42;
練習3.19:如果定義乙個含有10個元素的vector物件,所有元素的值都是42,請列舉出三種不同實現的方法。哪種方法更好呢?為什麼?
練習3.20:讀入一組整數並把它們存入乙個vector物件,將每對相鄰整數的和輸出出來。改寫你的程式,這次要求先輸出第乙個和最後1個元素的和,接著輸出第2個和倒數第2個元素的和,以此類推。
答:練習3.16,見程式
練習3.17,見程式
練習3.18 不合法,第二步改為,ivec.push_back(10);
練習3.19 vector ivec;
第一種:ivec(10,42);
第二種:ivec=
第三種:for(int i = 0;i != 10; ++i)
ivec.push_back(10);
練習3.20 見程式。
練習3.16
#include
#include
using
namespace
std;
int main()
; for (auto &i : v4)
cout
<< " v4 "
<< i << " ";
cout
<< endl;
vector
v5;
for (auto &i : v5)
cout
<< "v5 "
<< i << " ";
cout
<< endl;
vector
v6;
for (auto &i : v6)
cout
<< "v6 "
<< i << " ";
cout
<< endl;
vector
v7;
for (auto &i : v7)
cout
<< "v7 "
<< i << " ";
cout
<< endl;
return
0; }
練習3.17
#include
#include
#include
using
namespace
std;
int main()
return
0;}
練習3.20-1
#include
#include
#include
using
namespace
std;
int main()
}cout
<< endl;
return
0;}
練習3.20-2
#include
#include
#include
using
namespace
std;
int main()
cout
<< endl;
return
0;}
練習3.20-3
/*
** 針對練習3.20-2裡面 最輸出來等長度和的問題,實際只要輸出到中間位置,進行了**改進,改進思路,主要在輸出上進行改進,用了兩個vector配合,因地制宜 **/
#include
#include
#include
using
namespace
std;
int main()
/*if (ivec.size()/2 == 0)
auto counter = ivec.size()/2;
else
auto counter = (ivec.size()+1)/2;
*/for (decltype(ivec1.size()) j = 0; j !=(ivec.size()/2==0?ivec.size()/2:(ivec.size()+1)/2); ++j)
//j != ...這一步判斷,
//ivec的元素個數是奇數還是偶數,對應情況輸出到哪個位置
cout
<< ivec1[j] << " ";
cout
<< endl;
return
0;}
C Primer第五版 2 4 3節練習
練習2.30 對於下面的這些語句,請說明物件被宣告成了頂層const還是底層const?const int v2 0 v2的值不能被改變,所以這是乙個頂層const int v1 v2 int p1 v1,r1 v1 const int p2 v2 p2存放的是v2的位址,不能間接改變v2的值,但p...
C Primer第五版 2 5 3節練習
練習 2.36 關於下面的 請指出乙個變數的型別以及程式結束時它們各自的值。include int main 練習 2.37 賦值是會產生引用的一類典型表示式,引用的型別就是左值的型別。也就是說,如果i是int,則表示式 i x的型別是int 根據這一特點,請指出下面的 中每乙個變數的型別和值。in...
C Primer第五版 3 2 2節練習
練習3.2 編寫一段程式從標準輸入中一次讀入一整行,然後修改該程式使其一次讀入乙個詞。練習3.3 請說明string類的輸入運算子和getline函式分別是如何處理空白字元的。練習 3.4 編寫一段程式讀入兩個字串,比較其是否相等並輸出結果。如果不相等,輸出較大的那個字串。改寫上述程式,比較輸入的兩...