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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C++primer习题--第3章

發布時間:2025/3/8 c/c++ 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++primer习题--第3章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【習題 2.11】
編寫程序,要求用戶輸入兩個數——底數( base)和指數( exponent),輸出底數的指數次方的結果。

#include <iostream> #include <math.h> #include <string> using namespace std; int main( ) {int base, exp;long result=1;cout<<"請輸入底數和指數:"<<endl;cin>>base>>exp;if(exp<0) {cout<<"指數不能為負數!"<<endl;return -1;}for(int i=1; i <= exp; i++)result *= base;cout<<base<<""<<exp<<"次方為"<<result<<endl;system("PAUSE");return 0; }

【習題 3.7】
編一個程序讀入兩個 string 對象,測試它們是否相等。若不相等,則指出兩個中哪個較大。接著,改寫程序測試它們的長度是否相等,若不相等,則指出兩個中哪個較長。

#include <iostream> #include <string> using namespace std; int main( ) {string str1, str2;cin>>str1>>str2;if(str1 == str2)cout<<"str1與str2相等"<<endl;elsecout<<"str1與str2不相等"<<endl;system("PAUSE");return 0; }

【習題 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 對象中轉化后的元素, 每八個單詞為一行輸出。

#include <iostream> #include <cctype> #include <string> #include <vector> using namespace std; void replace(string &s) //將字符串中的所有的小寫字符全部轉化為大寫 {for(int i=0; i<s.length(); ++i) {if(islower(s[i]))s[i]=toupper(s[i]);} } int main( ) {int n;string str;vector<string> vec;n=1;cout<<"請輸入一段文本:\n";while(cin>>str)vec.push_back(str);for(vector<string>::iterator i=vec.begin(); i!=vec.end(); ++i) {replace(*i);cout<<(*i);if(n%8==0)cout<<endl;elsecout<<" ";n++;}system("PAUSE");return 0; }

【習題 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章的全部內容,希望文章能夠幫你解決所遇到的問題。

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