C++primer习题--第3章
【習題 2.11】
編寫程序,要求用戶輸入兩個數——底數( base)和指數( exponent),輸出底數的指數次方的結果。
【習題 3.7】
編一個程序讀入兩個 string 對象,測試它們是否相等。若不相等,則指出兩個中哪個較大。接著,改寫程序測試它們的長度是否相等,若不相等,則指出兩個中哪個較長。
【習題 3.8】
編一個程序,從標準輸入讀取多個 string 對象,把它們連接起來存放到一個更大的 string 對象中。并輸出連接后的 string 對象。接著,改寫程序,將連接后相鄰 string 對象以空格隔開。
#include <iostream> #include <string> using namespace std; int main( ) {string str, ss;cout<<"請輸入字符串:\n";while(cin>>str)ss = ss + str;cout<<"連接后的字符串為:"<<ss<<endl;system("PAUSE");return 0; }改寫后的程序:
#include <iostream> #include <string> using namespace std; int main( ) {string str, ss;cout<<"請輸入字符串:\n";while(cin>>str)ss= ss + ' ' + str;cout<<"連接后的字符串為:"<<ss<<endl;system("PAUSE");return 0; }【習題 3.10】
編一個程序,從 string 對象中去掉標點符號。要求輸入到程序的字符串必須含 有標點符號,輸出結果則是去掉標點符號后的 string 對象。
#include <iostream> #include <string> #include <cctype> using namespace std; int main( ) {string str, ss;cout<<"請輸入字符串:\n";getline(cin, str);for(string::size_type i=0; i!=str.size(); ++i) {if(!ispunct(str[i]))ss+=str[i];}cout<<"連接后的字符串為:"<<ss<<endl;system("PAUSE");return 0; }【習題 3.13】
讀一組整數到 vector 對象,計算并輸出每對相鄰元素的和。如果讀入元素個數為奇數,則提示用戶最后一個元素沒有求和,并輸出其值。
#include <iostream> #include <string> #include <vector> using namespace std;int main( ) {vector<int> vec;int n;while(cin>>n)vec.push_back(n);if(!vec.size()) {cout<<"沒有數字!"<<endl;return -1;}for(vector<int>::size_type i=0; i<vec.size()-1; i+=2) {cout<<vec[i]+vec[i+1]<<"\t";if((i+1)%6==0) cout<<endl;}if(vec.size()%2!=0)cout<<endl<<"最后一個數是:"<<vec[vec.size()-1]<<endl;system("PAUSE");return 0; }【習題 3.14】
讀入一段文本到 vector 對象,每個單詞存儲為 vector 中的一個元素。把 vector 對象中每個單詞轉化為大寫字母。輸出 vector 對象中轉化后的元素, 每八個單詞為一行輸出。
【習題 3.18】
編寫程序來創建有 10 個元素的 vector 對象。用迭代器把每個元素值改為當前 值的 2 倍,輸出 vector 的所有元素。
#include <iostream> #include <vector> using namespace std; int main( ) {vector<int> vec(10,2);for(vector<int>::iterator it=vec.begin(); it!=vec.end(); it++) {*it=(*it)*2;cout<<(*it)<<" ";}cout<<endl;system("PAUSE");return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C++primer习题--第3章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 势头迅猛的儿童手表:恐陷下一个文曲星之地
- 下一篇: sencha touch调试时Pleas