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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C++primer 第四版6.12:练习题

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

/*編寫一個小程序,從標準輸入讀入一系列 string 對象,
6.12: 尋找連續重復出現的單詞。程序應該找出滿足以下條件的
單詞的輸入位置:該單詞的后面緊跟著再次出現自己本
身。跟蹤重復次數最多的單詞及其重復次數。輸出重復次
數的最大值,若沒有單詞重復則輸出說明信息。例如,如
果輸入是:how, now now now brown cow cow?
則輸出應表明“now”這個單詞出現了三次。*/

int main(void)
{
?? ?string str; vector<string>strs; int count = 1; vector<int>num; int x=0;
?? ?cout << "請輸入單詞按ctrl+z退出" << endl;
?? ?while (cin >> str)
?? ??? ?strs.push_back(str);
?? ?for (size_t i=1;i!=strs.size();i++)//定位每個單詞出現的次數
?? ?{
?? ??? ?if(strs[i-1]==strs[i])
?? ??? ??? ?++count;
?? ??? ?else
?? ??? ??? ?count = 1;
?? ??? ?num.push_back(count);
?? ?}
?? ?num.push_back(1);//最后一個單詞次數設置為1
?? ?for (size_t i = 0; i != num.size(); i++)//判斷單詞出現最大值
?? ??? ?if (x < num[i])
?? ??? ??? ?x = num[i];
?? ?int x1;
?? ?for (size_t i = 0; num[i]!=x; i++)
?? ??? ?x1 = i+1;//判斷最大值定位單詞顯示+1是剛好定位到x元素位置不然循環會停止于x之前的元素
?? ?
?? ?for (size_t i = 1; i != num.size(); i++)//判斷無重復單詞顯示
?? ?{
?? ??? ?if(num[i-1]==1&&i==1)
?? ??? ??? ?cout << "“" << strs[0] << "”" << "無重復" << endl;//判斷第一個單詞無重復

?? ??? ?if(i<num.size()-1)
?? ??? ?if (strs[i] != strs[i - 1] && strs[i] != strs[i + 1])//判斷其他單詞是否重復
?? ??? ??? ?cout << "“" << strs[i] << "”" <<"無重復" << endl;
?? ??? ?if (num[num.size() - 1] == 1&&i==num.size()-1&&(strs[num.size()-1]!=strs[num.size() - 2]))
?? ??? ??? ?cout << "“" << strs[num.size() - 1] << "”" << "無重復" << endl;//判斷最后一個單詞無重復
?? ?}

?? ?cout <<"“"<<strs[x1] <<"”" <<"這個單詞出現了"<< x<<"次";
?? ?return 0;
}

總結

以上是生活随笔為你收集整理的C++primer 第四版6.12:练习题的全部內容,希望文章能夠幫你解決所遇到的問題。

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