c primer第三章練習題遇見的問題總結

2021-07-24 20:33:49 字數 1781 閱讀 4946

問題描述:從cin讀入一組詞並把它們存入乙個vector物件,然後設法把所有詞都改寫為大寫形式輸出改變後的結果,每個詞佔一行。

遇見的問題,1.無法結束while

2.字元沒有變成大寫

正確程式

#include

#include

#include

#include

using

namespace

std;

int main()

for(auto &s:text)// for( decltype(text.size()) i=0;i

cout

0;}

這個確定是對的,首先我寫的時候第乙個錯誤是沒有在s前面加&,後面改變字串就是改變vector,其次我竟然沒有把變大寫後的字元重新賦值給c,腦子有坑了。真是莫名其妙[捂臉]

提示

//字串string型別盡量用範圍for,而vector也推薦用範圍for,因為vector只能對確知已經存在的元素執行下標操作
練習3.20

/*讀入一組整數並把它們存入乙個vector物件,將每對相鄰整數的和輸出出來*/

#include

#include

using

namespace

std;

int main()

for(vector

::size_type i=0;i1;i++)

cout

<1]}

/*讀入一組整數並把它們存入乙個vector物件,輸出第乙個和最後乙個,正數第二個和倒數第二個。。。。假設輸入的都是整數*/

#include

#include

using

namespace

std;

int main()

for(vector

::size_type i=0,j=ivec.size()-1;icout

}

新鮮出來的練習題3.22

/*p99 3.22把第一段全部變成大寫,並且輸出

vs2010下驗證可通過

*/#include

#include

#include

#include

using

namespace

std;

int main()

return

true;

}int main()

; int a2=;

int *p1=begin(a1),*q1=end(a1),*p2=begin(a2),*q2=end(a2);

if (compare(p1,q1,p2,q2))

cout

<<"=="

cout

<<"!="

//比較兩個vector的相等直接利用==

/*編寫3個不同版本的程式,令其均能輸出ia的元素,版本1使用範圍for語句管理迭代過程

版本2和版本3都使用普通的for語句,其中版本2要求用下標,版本3要求用指標

*/#include

using

namespace

std;

int main()

,,};

/*for(size_t &row:ia)//沒有執行這部分**,注意第一層一定要用引用,防止將row轉換成指標,下面無法操作

第三章練習題

3.1重量計算。月球上物體的體重是在地球上的16.5 假如你在地球上每年增長0.5kg,編寫程式輸出未來10年你在地球和月球上的體重狀況。weight eval input 請輸入您的體重 kg for i in range 1 11 weight earth weight 0.5 i weight...

第三章課後練習題

第一題 根據成績輸出評分 s float input 請輸入成績 if s 90 print a elif 89 s 80 print b elif 79 s 70 print c elif 69 s 60 print d elif 60 s 0 print e else print 您輸入有誤!第...

C primer 習題 第三章 1 10

using std cin using std cout using std endl using std cerr include include using std cin using std cout using std endl using std string int main void ...