cprimer課后習(xí)題解答第118章版_第1頁
cprimer課后習(xí)題解答第118章版_第2頁
cprimer課后習(xí)題解答第118章版_第3頁
cprimer課后習(xí)題解答第118章版_第4頁
cprimer課后習(xí)題解答第118章版_第5頁
已閱讀5頁,還剩133頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

目錄快速入門 2變量和基本類型 7標(biāo)準(zhǔn)庫類型 13數(shù)組和指針 21目錄快速入門 2變量和基本類型 7標(biāo)準(zhǔn)庫類型 13數(shù)組和指針 21第十章表.........................................................................................................................................................31語句 37函數(shù) 37標(biāo)準(zhǔn)IO庫 37順序容器 43關(guān)聯(lián)容器 60第十八章泛型算法 75類和數(shù)據(jù)抽象 86...............................................................................................................................................94重載操作符與轉(zhuǎn)換 102面向?qū)ο缶幊?116部分選做習(xí)題 133用于大型程序的工具 138特殊工具與技術(shù) 1381#include<iostream>intmain(){std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cin>>v1>>v2;std::cout<<"Theproductof"<<#include<iostream>intmain(){std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cin>>v1>>v2;std::cout<<"Theproductof"<<v1<<"and"<<v2<<"is"<<v1*v2<<std::endl;return0;}第一章快速入門習(xí)題1.1查看所用的編譯器檔,了解它所用的并運(yùn)【解答】main而言,C++編譯器要求待編譯的程序保件中。C++涉及兩類件:頭件和源件。大多數(shù)系統(tǒng)中,件的名字由件名和件后綴(又稱擴(kuò)展名)組成。件后綴通常表明件的類型,如頭件的后綴可以是.h或.hpp等;源件的后綴可以是.cc或.cpp等,具體的后幫助檔了解其件命名規(guī)范。1.5獨(dú)的語句打印每一個操作數(shù)?!窘獯稹?include<iostream>intmain(){std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cin>>v1>>v2;std::cout<<"Thesumof";std::cout<<v1;std::cout<<"and";std::cout<<v2;std::cout<<"is";std::cout<<v1+v2;std::cout<<std::endl;return0;}1.2修改程序使其返回-1。返回值-1通常作為程序運(yùn)行失敗的指示器。函main函數(shù)的運(yùn)行失敗指示器?!窘獯稹抗P者所使用的Windows操作系統(tǒng)并不報(bào)告main函數(shù)的運(yùn)行失敗,因此,程序返回-1或返回0在運(yùn)行效果上沒有echo%ERRORLEVEL%命令,則系統(tǒng)會顯示返回值-1。1.3編一個程序,在標(biāo)準(zhǔn)輸出上打印“eo,ord【解答】intmain(){std::cout<<"Hello,World"<<std::endl;return0;}1.6解釋下面的程序段:std::cout<<"Thesumof"<<v1;<<"and"<<v2;<<"is"<<v1+v2<<std::endl;么?【解答】這段代碼不合法。注意,第1、2、4行的末尾有分號,表示這段代碼包含三1.4我們的*”產(chǎn)生兩個數(shù)的積?!窘獯稹?、2行各為一個語句,第3、4行一個22、3兩條語句中,第一個“<<”缺少左操作數(shù),因此不合法。在第2、3行的開頭加上“sd::co1.9sum的最終值是多少?intsum0;2、3兩條語句中,第一個“<<”缺少左操作數(shù),因此不合法。在第2、3行的開頭加上“sd::co1.9sum的最終值是多少?intsum0;for(inti=-100;i<=100;++i)sum+=i;【解答】該循環(huán)求-100~100之間所有整數(shù)的和(100。sm0。1.7編譯有不正確嵌套注釋的程序。【解答】由注釋對嵌套導(dǎo)致的夢芭莎 券編譯器錯誤-100和通常令節(jié)中給出的#include<iostream>/*commentpairs/**/cannotnest."cannotnest"isconsideredsourcecode,asistherestoftheprogram*/intmain(){return0;}1.10用for循環(huán)編程,求從50~100的所有自然數(shù)的和。然后while循環(huán)重寫該程序。【解答】for循環(huán)編寫的程序如下:#include<iostream>intmain(){intsum=0;for(inti=50;i<=100;++i)sum+=i;std::cout<<"Sumof50to100inclusiveis"<<sum<<std::endl;return0;}編譯器會給出如下錯誤:errorC2143:syntaxerror:missing';'before'<'errorC2501:'include':missingstorage-classortypespecifierswarningC4138:'*/'foundoutsideofcomment(第6行)errorC2143:syntaxerror:missing';'before'{'(第8行)errorC2447:'{':missingfunctionheader(old-styleformallist?)(8)while循環(huán)編寫的程序如下:#include<iostream>intmain(){intsum=0,inti=50;while(i<=100){sum+=i;++i;}std::cout<<"Sumof50to100inclusiveis"<<sum<<std::endl;return0;}1.8(如果有)是合法的。std::cout/*";std::cout<<"*/";std::cout<</*"*/"*/;案。糾正所遇到的錯誤?!窘獯稹康谝粭l和第二條語句合法。第三條語句中<<操作符之后至第二個雙引號之前的部分被注釋掉了,導(dǎo)致<<操作符的右操作數(shù)不是一個完整的字符串,所以不合法。在分號之前加上一個雙引號即可更正。1.11for循環(huán)重寫該程序?!窘獯稹縲hile循環(huán)編寫的程序如下:3#include<iostream>intmain(){inti=10;while(i>=0){std::cout<<i<<"";--i;}return0;}【解答】和值相等xoererxfor初始化為sm(x#include<iostream>intmain(){inti=10;while(i>=0){std::cout<<i<<"";--i;}return0;}【解答】和值相等xoererxfor初始化為sm(xl1,val的值就大于upper,循環(huán)執(zhí)行結(jié)束。1.15用兩個相等的值作為輸入編譯并運(yùn)輸出與你在習(xí)題1.14中所做的 相比較,解釋實(shí)際結(jié)果和你預(yù)計(jì)的結(jié)果間的不相符之處?!窘獯稹?(則程序輸出為:Sumof3to3inclusiveis3for循環(huán)編寫的程序如下:#include<iostream>intmain({for(inti=10;i>=0;--i)std::cout<<i<<"";return0;})1.14中給出的一致。1.16編寫程序,輸出用戶輸入的兩個數(shù)中的較大者?!窘獯稹?include<iostream>intmain(){std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cinv1v2;//讀入數(shù)據(jù)if(v1v2)1.12【解答】循環(huán)中,循環(huán)變量的初始化和修改都放在語句頭while變量的初始化while語句變量的修改for(用std::cout<<"Thebiggernumberelsestd::cout<<"Thebiggernumberstd::endl;return0;}is"<<v1<<某一條件循環(huán)。兩種形式各有優(yōu)點(diǎn),但它們在功能上是等價的,可以相互轉(zhuǎn)換。is"<<v2<<1.13程序,包含本小節(jié)“再談編譯”部分討論的那些常見錯誤。研究編譯器產(chǎn)生的些時陌生。1.17個負(fù)數(shù)。【解答】#include<iostream>intmain(){intamount=0,value;【解答】對于說明其中有多少出現(xiàn)的錯誤,編譯器通常會給出簡略的提示信息,錯誤出現(xiàn)的件及代碼行、錯誤代碼、錯誤性質(zhì)的,可以根據(jù)編譯器給出的錯誤代碼在其聯(lián)機(jī)幫助檔中查找。1.14如果輸入值相等,本節(jié)展示的程序?qū)a(chǎn)生什么問題?//讀入數(shù)據(jù)直到遇見件結(jié)4while(std::cin>>value)if(value<=0)++amount;std::cout<<"Amountofallnegativevalues<<amountwhile(std::cin>>value)if(value<=0)++amount;std::cout<<"Amountofallnegativevalues<<amount<<std::endl;return0;}1.18std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cinv1v2;//讀入兩個數(shù)lower、較大的數(shù)作為上界upperintlowerupper;if(v1<=v2){lower=v1;upper=v2;}else{lower=v2;upper=v1;}//輸出從lower到upper之間的值std::coutValuesoflowerto<<upper<<"inclusiveare:"<<std::endl;for(intval=lower,count=1;val<=upper;++val,++count){std::cout<<val<<"";ifcount10010個值std::coutstd::endl;}return0;}is"數(shù)寫到標(biāo)準(zhǔn)輸出?!窘獯稹?include<iostream>intmain(){std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cinv1v2;//讀入兩個數(shù)lower、較大的數(shù)作為上界upperintlowerupper;if(v1<=v2){lower=v1;upper=v2;}else{lower=v2;upper=v1;}//輸出從lower到upper之間的值std::coutValuesoflowerto<<upper<<"inclusiveare:"<<std::endl;for(intval=lower;val<=upper;++val)std::cout<<val<<"";return0;}粗黑體部分為主要的修改:用變量count已輸出的數(shù)count101.20if測試。程是否與你的相符。如果不相符,反復(fù)研究關(guān)于for和while循環(huán)的討論直到弄清楚其中的【解答】可編寫程序如下://1-20.cpp。//省略設(shè)置上界和下界的if測試,求用戶指定范圍內(nèi)的數(shù)的和1.19如果上題給定數(shù)1000和2000,程序?qū)a(chǎn)生什么結(jié)果?修10個數(shù)。【解答】程序修改如下:#include<iostream>intmain(){#include<iostream:intmain(){>std::cout<<"Entertwonumbers:"<<std::endl;intv1,v2;std::cinv1v2;//讀入數(shù)據(jù)intsum0;5//求和for(intval=v1;val<=v2;++val)sum+=val;//sum=sum+valstd::cout<<"Sumof"<<v1<<"to"<<v2<<"inclusiveis"<<sum<<std::endl;return0;}7和//求和for(intval=v1;val<=v2;++val)sum+=val;//sum=sum+valstd::cout<<"Sumof"<<v1<<"to"<<v2<<"inclusiveis"<<sum<<std::endl;return0;}7和3v1值為7,v2值為3。for語#include"Sales_item.h"intmain(){Sales_itemtrans1,trans2;//讀入std::cout<<"Entertwotranstd::cin>>trans1>>trans2;if(trans1.same_isbn(trans2))ions:"<<std::endl;std::cout<<"Thetotalinformation:"<<std::endl<<"ISBN,numberofcopiessold,"<<"totalrevenue,andaveragepriceare:"<<std::endl<<trans1+trans2;elsestd::cout<<"Thetwotran ionshavedifferentISBN."<<std::endl;return0;}句頭中將l7val<=v2fseforsum為0。1.21本(書配套)的第1件到你Sales_item.h源件。該每筆并將寫至標(biāo)準(zhǔn)輸出。1.23的的和?!窘獯稹?include<iostream>#include"Sales_item.h"intmain(){Sales_itemtotal,trans;//讀入【解答】#include<iostream>#include"Sales_item.h"intmain(){Sales_itembook;//讀入ISBN,售出書的本數(shù),std::cout<<"Entertranwhile(std::cin>>book){ions:"<<std::endl;std::cout<<"Entertranif(std::cin>>total){while(std::cin>>trans)ions:"<<std::endl;//輸出ISBN,售出書的本數(shù),總收入,平均價格std::cout<<"ISBN,numberofcopiessold,"<<"totalrevenue,andaveragepriceare:"<<std::endl;std::cout<<book<<std::endl;}return0;}iftotal.same_isbn(trans)ISBN相同totaltotaltrans;elseISBN不同std::cout<<"DifferentISBN."<<std::endl;return–1;}//輸出之和std::cout<<"Thetotalinformation:"<<std::endl<<"ISBN,numberofcopiessold,"<<"totalrevenue,andaveragepriceare:"<<std::endl<<total;}1.22ISBN的Sales_item產(chǎn)生它們的和?!窘獯稹?include<iostream>對象并6else{std::cout<<"Nodata?!"<<std::endl;return–1;}return0;}1.6節(jié)給出的書店程序?!窘獯稹靠蓮腃++Primer(第4版)的配套(頭,然后使用該頭件編譯并執(zhí)行節(jié)給出的書店程序。1.24編寫程序,讀入幾筆不同的1.26在書店。對于每筆新讀入的,ISBN是否和以前的一樣,并且記加到中,為什么我們不使用復(fù)合賦值操作下每一個ISBN的 來else{std::cout<<"Nodata?!"<<std::endl;return–1;}return0;}1.6節(jié)給出的書店程序?!窘獯稹靠蓮腃++Primer(第4版)的配套(頭,然后使用該頭件編譯并執(zhí)行節(jié)給出的書店程序。1.24編寫程序,讀入幾筆不同的1.26在書店。對于每筆新讀入的,ISBN是否和以前的一樣,并且記加到中,為什么我們不使用復(fù)合賦值操作下每一個ISBN的 來符?【解答】因?yàn)樵?.5.1節(jié)中提及的Sales_item對象上的操作中只包含了+和=,沒有包含+=操作。(但事實(shí)上,使用Sales_item.h)測試程序。這些必須代表多個不同的ISBN,但是每個ISBN【解答】應(yīng)分在同一組。#include<iostream>#include"Sales_item.h"intmain(){//數(shù)目變量以保存以及具有相同ISBN的的Sales_itemtrans1,trans2;intamount;//讀入std::cout<<"Entertranstd::cin>>trans1;amount=1;while(std::cin>>trans2)2.1int、long和short類型之間有什么差別?【解答】ions:"<<std::endl;它們的最小16位、32位和16位。而言,short類型為半個機(jī)器字(word)長,int類型long類型為一個或兩個機(jī)器字長(在2tog。因此,它們的表示范圍不同。iftrans1.same_isbn(trans2))/ISBN相同else{ISBN不同2.2unsigned和signed類型有什么差別?【解答】0。std::cout<<"TranionamountofpreviousISBN:"<<amount<<std::endl;trans1=trans2;amount=1;}//輸出最后一個ISBN的數(shù)目2.3short類型占16位,那么可以賦給short類型的最大數(shù)是什么?unsignedshort類型的最大數(shù)又是什么?【解答】若在某機(jī)器上short類型占16short類unsignedshort類型216-1,65535。std::cout<<"TranionamountofthelastISBN:"<<amount<<std::endl;return0;}1.25使用源自本書配套的Sales_item.h頭件,編譯并執(zhí)74doeffltlongdouble型字面值。2.416位的unsignedshort對象賦值100000時,賦的值是什么?34464。100000超過了16位的unsignedshort類型的表示范求余(求模,%34464。4doeffltlongdouble型字面值。2.416位的unsignedshort對象賦值100000時,賦的值是什么?34464。100000超過了16位的unsignedshort類型的表示范求余(求模,%34464。2.8確定下列字面值常量的類型:(a)–10(b)-10u(c)-10.(d)-10e-2【解答】int型unsignedint型double型double型2.5float類型和double類型有什么差別?【解答】2.9下列哪些(如果有)是二者的位數(shù)不同( 而言,float類型為32個二進(jìn)的?doe4(float類型只能保證6double10位有效數(shù)字。"WhogoeswithF\145rgus?\012"(c)"two"L"some"(d)1024f(e)3.14UL(f)"multiplelinecomment"【解答】2.6用哪種類型?解釋你選擇的理由。【解答】float類型,因?yàn)槔释ǔ榘俜种畮住?位有效數(shù)字就足以表示了。本金可以選擇long類型,因?yàn)楸窘鹜ǔ檎麛?shù)。long類(c)定義的。字面值與寬字字面值的連接是未(d)(e)(f)1024后面不能帶后綴f。U。。因?yàn)榉謨尚袝鴮懙淖肿置嬷当仨氃诘谝恍械男涂杀硎镜淖畲笳麛?shù)為2311(即2147483647,應(yīng)double類型,末尾加上反斜線。float類型的6位有效數(shù)字可能不足以表示。2.102,跟著一序,輸出2M,然后換行。修改程2.7(aa',L'a',"a",L"a"(b)10,10u,10L,10uL,012,0xC(c)3.14,3.14f,3.14L【解答】(a)'a',L'a',"a",L"a"型字面值,型字面值,"M,最后是換行符?!窘獯稹?M、然后換行的程序段://輸出"2M"和換行字符std::cout2Mn';修改后的程序段://輸出'2','\t',M'和換行字符std::cout<<'2'<<'\t'<<'M'<<'\n';L"a"為寬字字面值。(b)10,10u,10L,10uL,012,0xC為型字面值,為型字面值,為ogL為sgedog2型字面值,型字面值。(c)3.14,3.14f,3.14L2.11編寫程序,要求用戶輸入兩個數(shù)——底數(shù)(base)和指數(shù)(expoe,輸出底數(shù)的指數(shù)次方的結(jié)果?!窘獯稹?#include<iostream>intmain(){//局部對象intbase,exponent;longresult=1;//讀入底數(shù)(base)和指數(shù)(exponent)std::cout<<"Enterbaseandexponent:"<<std::endl;std::cin>>base>>exponent;if(exponent<0){std::cout<<"Exponentcan'tbesmaller#include<iostream>intmain(){//局部對象intbase,exponent;longresult=1;//讀入底數(shù)(base)和指數(shù)(exponent)std::cout<<"Enterbaseandexponent:"<<std::endl;std::cin>>base>>exponent;if(exponent<0){std::cout<<"Exponentcan'tbesmallerthan0"<<std::endl;return-1;}if(exponent>0){//計(jì)算底數(shù)的指數(shù)次方for(intcnt=1;cnt<=exponent;++cnt)result*=base;}std::cout<<base<<"raisedtothepowerof"<<exponent<<":"<<result<<std::endl;return0;}名字。的?更正每個的標(biāo)識符(a)intdouble=3.14159;(b)char_;(c)boolcatch-22;(d)char1_or_2='1';(e)floatFloat=3.14f;【解答】(adouble是C+所以。此語句可改為:doubledval3.14159;。(c)名字catch-22中包含在字母、數(shù)字和下劃線之外的字(d)名字1_or_2:catch_22;。,因?yàn)闃?biāo)識符必須以字母或下劃線開one_or_two;。2.15intmonth9day7;intmonth=09,day=07;如果上述定義有錯的話,那么應(yīng)該怎樣改正呢?【解答】型變量,初值分別為9和7;后者也定義了兩個int型變量,其中day被初始初始化為八進(jìn)制值09,但八進(jìn)制數(shù)字范圍為0~7,所以出錯??蓪⒌诙€定義改為:intmonth=011day07;2.16假設(shè)calc是一個返回double對象的函數(shù)。下面哪些是非2.12區(qū)分和右值,并舉例說明。法定義?改正所有的定義?!窘獯稹浚╨value)就是變量的地址,或者是一個代表“對象在intcar=1024,auto=2048;intival=ival;std::cin>>intinput_value;doublesalary=wage=9999.99;doublecalc=calc();【解答】內(nèi)存中的位置”的表。右值(rvalue)就是變量的值,節(jié)。變量名出現(xiàn)在賦值運(yùn)算符的左邊,就是一個左右值。例如:(a):auto是關(guān)鍵字,不能用作變量名。使用另一變aut即可更正。val1是個val2和8值。(c):>>運(yùn)算符后面不能進(jìn)行變量定義。改為:intinput_value;std::cin>>input_value;(d):同一定義語句中不同變量的初始化應(yīng)分別進(jìn)行。2.13舉出一個需要【解答】的例子。改為:doublesalary9999.99wage9999.99;(b)ival仍是未初始化的。(被賦值的對象需要2.12。2.142.179下列變量的初始值(如果有)是什么?std::stringglobal_str;intglobal_int;intmain(){intlocal_int;std::stringlocal_str;//...}【解答】global_str和local_str的初始值均為空字0,local_int沒有初始值。inti=100,sum=0;下列變量的初始值(如果有)是什么?std::stringglobal_str;intglobal_int;intmain(){intlocal_int;std::stringlocal_str;//...}【解答】global_str和local_str的初始值均為空字0,local_int沒有初始值。inti=100,sum=0;for(inti=0;i!=10;++i)sum+=i;std::cout<<i<<""<<sum<<std::endl;10045for語句中定義的變量i,其作用域僅限于for語句內(nèi)部。i值是fori的值。2.21intsum0;for(inti=0;i!=10;++i)sum+=i;std::cout<<"Sumfrom0to"<<i<<"is"<<sum<<std::endl;【解答】for語句中使glo_2.18name的意義:externstd::stringname;std::stringname("exercise3.5a");externstd::stringname("exercise3.5a");【解答】i屬。第一條語句是一個序的其他地方定義。std::string變量name在程2.22變量name初始化為"exercise3.5a"。std::string變量name,e"eece在函數(shù)外部(即,name是一個全局變量。樣?for(inti=0;i<100;++i)//processi【解答】問題主要在于使用了具體值100作為循環(huán)上界:100的意1002.19下列inti=42;{inti=100;intj=i;//...}【解答】j的值是多少?這個值在改變?yōu)橹鲁绦虻目删S護(hù)性差。變量量)取代100作為循環(huán)上界使用,并為該變量選擇有意義的名字。2.23下列哪些語句合法?對于那些不合法的使用,解釋constintbuf;intcnt=0;constintsz=cnt;cnt++;sz++;【解答】。j的值是100。j的賦值所使用到的i應(yīng)該是main函數(shù)中定義的局部變量i,因?yàn)榫植孔兞康亩x會定義。全局變量的const變量(常量)時必須進(jìn)行初始buf沒有初始化。2.20下列程序段將會輸出什么?10合法。const變量sz的值。1010ri是i的,對ri進(jìn)行賦值,實(shí)際上相當(dāng)于對i進(jìn)行賦i和ri的值均為10。2.24下列哪些定義是的?為什么?如?2.28面的分號。classFoo{//empty}//Note:nosemicolonintmain(){return0;}(a)intival=1.01;(b)int&rval1=1.01;(c)int&rval2=ival;(d)constint&rval3=合法。const變量sz的值。1010ri是i的,對ri進(jìn)行賦值,實(shí)際上相當(dāng)于對i進(jìn)行賦i和ri的值均為10。2.24下列哪些定義是的?為什么?如?2.28面的分號。classFoo{//empty}//Note:nosemicolonintmain(){return0;}(a)intival=1.01;(b)int&rval1=1.01;(c)int&rval2=ival;(d)constint&rval3=1;【解答】(b)rval1是一個非const1trival;(ival是一個已定義的int變量。2.25在習(xí)題2.24給出的定義下,下列哪些賦值是賦值合法,解釋賦值的作用。(a)rval2=3.14159;(b)rval2=rval3;(c)ival=rval3;(d)rval3=ival;【解答】的?如果如果編譯器的【解答】結(jié)果難以理解,記住這些以備后用。誤:(d)。因?yàn)閞val3是一個const,不能進(jìn)行賦值。errorC2628:'Foo'followedby'int'isillegal(didyouforgeta(4行)warningC4326:returntypeof'main'shouldbe'intorvoidinsteadof'Foo'(5行)errorC2440:'return':cannotconvertfrom'int'to'Foo'(6行)也就是說,該編譯器會對遺漏了類定義后面的分號給出提示。合法賦值的作用:型變量類型轉(zhuǎn)換,ival得到的值為3。int值1賦給變量ival。(c)int值1賦給變量ival。2.26(a)中的(b)中的賦值哪些不同?哪些是的?(a)intival=0;(b)ival=ri;constint&ri=0;ri=ival;【解答】intival0;定義ival為int2.29區(qū)public部分和private部分。【解答】類中public部分定義的成員在程序的問。通常在public部分放置操作,以便0。以訪的其他部分constint&ri0;定義ri為const0。ivalri;將0值賦給ival。部分定義的成員只能被作為類的組成部分的代碼(以及該類的)。通常在;試圖對賦值,這是用,不能賦值。是引private部分放置數(shù)據(jù),以對對象的內(nèi)部數(shù)據(jù)進(jìn)行隱藏。2.30定義表示下列類型的類的數(shù)據(jù)成員:2.27inti&rii;i=5;ri=10;std::cout<<i<<""<<ri<<std::endl;輸出:(a)號碼(b)地址(c)員工或公司(d)夢芭莎 券網(wǎng)里面的章【解答】(a)號碼classTel_number{public:11private:std::stringcountry_number;std::stringcity_number;std::stringphone_number;};地址classAddress{public:private:std::stringcountry;std::stringcity;std::stringstreet;std::stringnumber;};員工或公司classEmployee{public:private:std::stringID;name;charsex;Addressaddr;Tel_numbertel;private:std::stringcountry_number;std::stringcity_number;std::stringphone_number;};地址classAddress{public:private:std::stringcountry;std::stringcity;std::stringstreet;std::stringnumber;};員工或公司classEmployee{public:private:std::stringID;name;charsex;Addressaddr;Tel_numbertel;};classCompany{public:private:name;Addressaddr;Tel_numbertel;};某大學(xué)的學(xué)生std::stringmajor;Addresshome_addr;Tel_numbertel;};里給出的只是 性的簡單例子。2.31判別下列語句哪些是,哪些是定義,請解釋。externintix=1024;intiy;externintiz;externconstint&ri;【解答】(aextern進(jìn)行了初始化。(b)是定義,變量定義的常規(guī)形式。是是,extern的常規(guī)形式。,了一個const 。2.32下列和定義哪些應(yīng)該放在頭件中?哪些應(yīng)該放在源件中?請解釋(a)intvar;。constdoublepi=3.1416;externinttotal=255;constdoublesq2=squt(2.0);【解答】(a)、(c)、(d)應(yīng)放在源件中,因?yàn)?a)和(c)是變量定義,定義通常應(yīng)放在源件中。(dconst變量sq2不是用常量表初始化的,所以也應(yīng)該放在源件中。(b)const變量pi是用常量表頭件中。參見2.9.1節(jié)。2.33【解答】在筆者所用的編譯器(MicrosoftVisualC++.NET2003)中,在Project菜單中選擇Properties菜單項(xiàng),在ConfigurationProperties→C/C++→General→WarningLevel中可以選擇警告級別。classpublic:{private:std::stringID;name;charsex;std::stringdept;//所在系12(syeseddeftcocor第三章標(biāo)準(zhǔn)庫類型3.3string對象的【解答】。3.1用適當(dāng)?shù)膗sing,而不用std::前綴,標(biāo)準(zhǔn)庫中的(1)string對象。2.3結(jié)果?!窘獯稹?include<iostream>(syeseddeftcocor第三章標(biāo)準(zhǔn)庫類型3.3string對象的【解答】。3.1用適當(dāng)?shù)膗sing,而不用std::前綴,標(biāo)準(zhǔn)庫中的(1)string對象。2.3結(jié)果?!窘獯稹?include<iostream>usingstd::cin;usingstd::cout;intmain(){//局部對象intbase,exponent;longresult=1;//讀入底數(shù)和指數(shù)cout<<"Enterbaseandexponent:"<<endl;cin>>base>>exponent;if(exponent<0){cout<<"Exponentcan'tbesmallerthan0"<<endl;return-1;}if(exponent>0){//計(jì)算底數(shù)的指數(shù)次方for(intcnt=1;cnt<=exponent;++cnt)result*=base;}cout<<base<<"raisedtothepowerof"<<exponent<<":"<<result<<endl;return0;}(2)使用一個已stringstring對象初始化為已對象的副本。(3)使用字 字面值作為初始化式將新創(chuàng)建的string對象初始化為字字面值的副本。3.4s和s2的值分別是什么?strings;intmain(){strings2;}【解答】s和s2的值均為空字。3.5編寫程序?qū)崿F(xiàn)從標(biāo)準(zhǔn)輸入每次讀序,每次讀入一個單詞?!窘獯稹勘尽H缓蟾膶懗?/從標(biāo)準(zhǔn)輸入每次讀#include<iostream>#include<string>usingnamespacestd;intmain(){stringline;本//一次讀,直至遇見件結(jié)while(getline(cin,line))coutlineendl;//輸出相應(yīng)行以進(jìn)行驗(yàn)證return0;}修改后程序如下:#include<iostream>#include<string>usingnamespacestd;intmain(){3.2什么是默認(rèn)構(gòu)造函數(shù)?【解答】自動為該類生成默認(rèn)構(gòu)造函數(shù),稱為的默認(rèn)構(gòu)造函數(shù)13stringword;//一次讀入一個單詞,直至遇見whilecinword)#include<string>usingnamespacestd;intmain(){strings1,s2;//讀入兩個string對象cout"Entertwostrings:endl;C++Primer(4版)習(xí)題解答41stringword;//一次讀入一個單詞,直至遇見whilecinword)#include<string>usingnamespacestd;intmain(){strings1,s2;//讀入兩個string對象cout"Entertwostrings:endl;C++Primer(4版)習(xí)題解答41cin>>s1>>s2;//測試兩個string對象是否相等ifs1s2)cout<<"Theyareequal."<<endl;elseif(s1>s2)cout<<"\""<<s1<<"\"isbiggerthan"<<"\""<<s2<<"\""<<endl;elsecout<<"\""<<s2<<"\"isbiggerthan"<<"\""<<s1<<"\""<<endl;return0;}string對象的長度是否相等的程序:#include<iostream>#include<string>usingnamespacestd;intmain(){strings1,s2;//讀入兩個string對象cout<<"Entertwostrings:"<<endl;cin>>s1>>s2;//比較兩個string對象的長度string::size_typelen1,len2;C++Primer(4版)習(xí)題解答42len1=s1.size();len2=s2.size();if(len1==len2)cout<<"Theyhavesamelength."<<endl;elseif(len1>len2)cout<<"\""<<s1<<"\"islongerthan"<<"\""<<s2<<"\""<<endl;elsecout<<"\""<<s2<<"\"islongerthan"件結(jié)coutwordendl;//輸出相應(yīng)單詞以進(jìn)行驗(yàn)證return0;}注意,using而言,應(yīng)該盡量避免使用using指示而使用(17.2.4節(jié),因?yàn)槿绻麘?yīng)用引入這些庫中定義using指示了標(biāo)準(zhǔn)庫,沒有使。但本書中的程序都只使用用其他庫。使用using指示引入名字空間std中定義的所有名字發(fā)生名字代碼中都使用了using指示usingnamespacestdstd外,本題中并未要求部分有些地方與此類似處理,不再贅述。3.6解釋string類型的輸入操作符和getline函數(shù)分別如何處理空白字符。【解答】string類型的輸入操作符對空白字符的處理效字符(非空白字并忽略有字符直至再次遇到空白字符,終止(該空白字符仍留在輸入流中。getline字符直至遇到換行符,并不string對象中。3.7編一個程序讀入兩個string對象,測試它們是否相等。若不相等,則指出兩個不相等,則指出兩個中哪個較長?!窘獯稹縮tring對象是否相等的程序:#include<iostream>14<<"\""<<s1<<"\""<<endl;return0;}3.8<<endl<<<<"\""<<s1<<"\""<<endl;return0;}3.8<<endl<<result_str<<endl;return0;C++Primer(4版)習(xí)題解答44}3.9由。strings;cout<<s[0]<<endl;【解答】編一個程序,從標(biāo)準(zhǔn)輸入接起來存放到一個更多個string對象,把它們連stringstring對象。接著,改寫程序,將連接string對象以空格隔開。【解答】#include<iostream>#include<string>usingnamespacestd;intmain(){stringresult_str,str;//讀入多個string對象并進(jìn)行連接C++Primer(4版)習(xí)題解答43cout<<"Enterstrings(Ctrl+Ztoend):"<<endl;while(cin>>str)result_str=result_str+str;//輸出連接后的string對象cout<<"Stringequaltotheconcatenationofthesestringsis:"<<endl<<result_str<<endl;return0;}改寫后的程序:#include<iostream>#include<string>usingnamespacestd;intmain(){stringresult_str,str;//讀入多個string對象并進(jìn)行連接cout<<"Enterstrings(Ctrl+Ztoend):"<<endl;cin>>result_str;//讀入第一個string對象,放到結(jié)果對象中while(cin>>str)result_str=result_str+''+str;//輸出連接后的string對象cout<<"Stringequaltotheconcatenationofthesestringsis:"string對象s所對應(yīng)字的第一個字符。s是一個空字是無效的。(MicrosoftVisualC++.NET2003)的實(shí)現(xiàn)中,該程序段并不出現(xiàn)編譯錯誤。3.10編一個程序,從string對象中去掉標(biāo)點(diǎn)符號。要求輸入到程序的字必須含string對象?!窘獯稹?include<iostream>#include<string>#include<cctype>usingnamespacestd;intmain(){strings,result_str;boolhas_punctfalse;//用于標(biāo)記字charch;C++Primer(4版)習(xí)題解答45cout<<"Enterastring:"<<endl;getline(cin,s);中有無標(biāo)點(diǎn)//處理字:去掉其中的標(biāo)點(diǎn)for(string::size_typeindex=0;index!=s.size();++index){ch=s[index];if(ispunct(ch))has_punct=true;else15result_str+=ch;}if(has_punct)result_str+=ch;}if(has_punct)cout<<"Result:"<<endl<<result_str<<endl;else{cout<<"Nopunctuationcharacterinthestring?!"<<endl;return-1;}return0;}3.11vector定義不正確?vector<vector<int>>ivec;vector<string>svec=ivec;svec(10,"null");C++Primer(4版)習(xí)題解答46【解答】(b)svec定義為保存string對象的vector對ivec是vector<int>vector對象(ivec是vectorecr,二者ivec來初始化svec。3.12下列每個vector對象中元素個數(shù)是多少?各元素的值是什么?vector<int>ivec1;vector<int>ivec2(10);vector<int>ivec3(10,42);vector<string>svec1;vector<string>svec2(10);svec3(10,"hello");【解答】0。10,0。10,42。0。然后修改程序:頭(以此類推,計(jì)算每對元素的和,并輸出?!窘獯稹?/讀一組整數(shù)到vector對象,計(jì)算并輸出每對相鄰元素的和C++Primer(4版)習(xí)題解答47#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>ivec;intival;//讀入數(shù)據(jù)到vector對象cout<<"Enternumbers(Ctrl+Ztoend):"<<endl;while(cin>>ival)ivec.push_back(ival);//計(jì)算相鄰元素的和并輸出if(ivec.size()0cout<<"Noelement?!"<<endl;return-1;}cout<<"Sumofeachpairofadjacentelementsinthevector:"<<endl;for(vector<int>::size_typeix=0;ix<ivec.size()-1;ix=ix+2){cout<<ivec[ix]+ivec[ix+1]<<"\t";if(ix+160)//每行輸出6個和coutendl;}C++Primer(4版)習(xí)題解答48if(ivec.size()20)//提示最后一個元素沒有求和coutendl<<"Thelastelementisnotbeensummed"<<"anditsvalueis"<<ivec[ivec.size()-1]<<endl;return0;}修改后的程序:(e)元素個數(shù)為10,各元素的值均為空字。(f)元素個數(shù)為10,各元素的值均為"hello"。3.13vector如果讀入元素個數(shù)為奇數(shù),則提示用戶最后一個元素沒有求和,并輸出其值。16//讀一組整數(shù)到vector對象,計(jì)算首尾配對元素的和并輸出#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>ivec;intival;//讀一組整數(shù)到vector對象,計(jì)算首尾配對元素的和并輸出#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>ivec;intival;vector對象cout<<"Enternumbers:"<<endl;while(cin>>ival)ivec.push_back(ival);if(ivec.size()0cout<<"Noelement?!"<<endl;return-1;C++Primer(4版)習(xí)題解答49}cout<<"Sumofeachpairofcounterpartelementsinthevector:"<<endl;vector<int>::size_typecnt=0;for(vector<int>::size_typefirst=0,last=ivec.size()-1;first<last;++first,--last){cout<<ivec[first]+ivec[last]<<"\t";++cnt;ifcnt606個和coutendl;}iffirstlast)coutendl<<"Thecenterelementisnotbeensummed"<<"anditsvalueis"<<ivec[first]<<endl;return0;}3.14詞輸出?!窘獯稹縱ector的一個元素。C++Primer(4版)習(xí)題解答50vector中vector對象中每個單詞轉(zhuǎn)化為大寫字母。vector8個單詞出#include<iostream>#include<string>#include<vector>#include<cctype>usingnamespacestd;intmain(){vector<string>svec;stringstr;//讀入本到vector對象cout<<"Entertext(Ctrl+Ztoend):"<<endl;while(cin>>str)svec.push_back(str);vector對象中每個單詞轉(zhuǎn)化為大寫字母,并輸出ifsvec.size()0cout<<"Nostring?!"<<endl;return-1;}cout<<"Transformedelementsfromthevector:"<<endl;輸for(vector<string>::size_typeix=0;ix!=svec.size();++ix){C++Primer(4版)習(xí)題解答51for(string::size_typeindex=0;index!=svec[ix].size();++index)if(islower(svec[ix][index]))index的字符為小寫字母svec[ix][index]toupper(svec[ix][index]);coutsvec[ix]if(ix180)/8個單詞cout<<endl;}return0;}輸出讀入一段本到vector對象,每個單詞vector為vector中對象中每個單詞轉(zhuǎn)化為大寫字母。輸出vector對象中轉(zhuǎn)化8個單17C++Primer(4版)習(xí)題解答53重做3.3.2節(jié)的習(xí)題,用迭代器而不是下標(biāo)操作來vector中的元素?!窘獯稹?.13如下://讀一組整數(shù)到vector對象,計(jì)算并輸出每對相鄰元素的和3.15vector<intivec;ivec[0]=42;【解答】ivec是空的vectorC++Primer(4版)習(xí)題解答53重做3.3.2節(jié)的習(xí)題,用迭代器而不是下標(biāo)操作來vector中的元素?!窘獯稹?.13如下://讀一組整數(shù)到vector對象,計(jì)算并輸出每對相鄰元素的和3.15vector<intivec;ivec[0]=42;【解答】ivec是空的vector而下標(biāo)操作只能用于獲取已的元素。ivec.push_back(42);。3.16//使用迭代器vector中的元素#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>ivec;intival;vector對象cout<<"Enternumbers(Ctrl+Ztoend):"<<endl;while(cin>>ival)ivec.push_back(ival);if(ivec.size()0cout<<"Noelement?!"<<endl;return-1;}cout<<"Sumofeachpairofadjacentelementsinthevector:"<<endl;vector<int>::size_typecnt0;C++Primer(4版)習(xí)題解答54for(vector<int>::iteratoriter=ivec.begin();iter<ivec.end()-1;iter=iter+2){cout<<*iter+*(iter+1)<<"\t";++cnt;ifcnt606個和coutendl;}if(ivec.size()20coutendl<<"Thelastelementisnotbeensummed"<<"anditsvalueis"<<*(ivec.end()-1)<<endl;列出三種定義vector對象的42。指出是,給定10個元素,每個否還有更【解答】一:實(shí)現(xiàn),并說明為什么。vector<int>ivec(10,42);C++Primer(4版)習(xí)題解答52二:vector<intivec(10);for(ix=0;ix<10;++ix)ivec[ix]=42;三:vector<intivec(10);for(vector<int>::iteratoriter=ivec.begin();iter!=ivec.end();++iter)*iter=42;四:vector<intivec;for(cnt=1;cnt<=10;++cnt)ivec.push_back(42);五:vector<intivec;vector<int>::iteratoriter=ivec.end();for(inti=0;i!=10;++i){ivec.insert(iter,42);iter=ivec.end();}各種使用標(biāo)準(zhǔn)庫中定義的容器操作在容器中增添元素,無需在定義vector對象時指定容器的大小,比較靈活而且不容易出錯。3.1718return0;}//讀一組整數(shù)到vector對象,計(jì)算首尾配對元素的和并輸出}3.14如下:vector的一個元素。vector中//使用迭代器vector中的元素vector對象中每個單詞轉(zhuǎn)化為大寫字母。return0;}//讀一組整數(shù)到vector對象,計(jì)算首尾配對元素的和并輸出}3.14如下:vector的一個元素。vector中//使用迭代器vector中的元素vector對象中每個單詞轉(zhuǎn)化為大寫字母。vector8個單詞出。#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>ivec;intival;C++Primer(4版)習(xí)題解答55vector對象cout<<"Enternumbers(Ctrl+Ztoend):"<<endl;while(cin>>ival)ivec.push_back(ival);if(ivec.size()0cout<<"Noelement?!"<<endl;return-1;}cout<<"Sumofeachpairofcounterpartelementsinthevector:"<<endl;cnt=0;for(vector<int>::iteratorfirst=ivec.begin(),last=ivec.end()-1;first<last;++first,--last){cout<<*first+*last<<"\t";++cnt;ifcnt606個和coutendl;}iffirstlast)coutendl"ThecenterelementisnotbeensummedC++Primer(4版)習(xí)題解答56<<"anditsvalueis"<<*first<<endl;return0;輸//使用迭代器vector中的元素#include<iostream>#include<string>#include<vector>#include<cctype>usingnamespacestd;intmain(){vector<string>svec;stringstr;//讀入本到vector對象cout<<"Entertext(Ctrl+Ztoend):"<<endl;while(cin>>str)svec.push_back(str);vector對象中每個單詞轉(zhuǎn)化為大寫字母,并輸出ifsvec.size()0C++Primer(4版)習(xí)題解答57cout<<"Nostring?!"<<endl;return-1;}cout<<"Transformedelementsfromthevector:"<<endl;vector<string>::size_typecnt=0;for(vector<string>::iteratoriter=svec.begin();iter!=svec.end();++iter){for(string::size_typeindex=0;index!=(*iter).size();++index)if(islower((*iter)[index]))index的字符為小寫字母(*iter)[index]=toupper((*iter)[index]);cout*iter++cnt;ifcnt80)/8個單詞cout<<endl;}return0;輸出19}3.18編寫程序來創(chuàng)建有10個元素的vector對象。用迭代器把每個元素值改為當(dāng)前2倍?!窘獯稹緾++Primer(4版)習(xí)題解答5810個元素的vector對象,2倍#include<iostream>#include<vector>using}3.18編寫程序來創(chuàng)建有10個元素的vector對象。用迭代器把每個元素值改為當(dāng)前2倍。【解答】C++Primer(4版)習(xí)題解答5810個元素的vector對象,2倍#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<intivec(10,20);/202倍for(vector<int>::iteratoriter=ivec.begin();iter!=ivec.end();++iter)*iter=(*iter)*2;return0;}3.193.18的程序,輸出vector的所有元素?!窘獯稹?0個元素的vector對象,2倍并輸出#include<iostream>#include<vector>usingnamespacestd;intmain(){C++Primer(4版)習(xí)題解答59vector<intivec(10,20);/202倍并輸出for(vector<int>::iteratoriter=ivec.begin();iter!=ivec.end();++iter){*iter=(*iter)*2;cout<<*iter<<"";}return0;}3.20說明?!窘獯稹可鲜鰩讉€習(xí)題的程序?qū)崿F(xiàn)中使用了類型分別為vector<int>::iterator和的迭代器,通過這些迭代器分別元素類型為int和string的vector對象中的元素。3.21何時使用const迭代器?又在何時使用const_iterator?解釋兩者的區(qū)別。【解答】const迭代器是迭代器常量,該迭代器本身的值不能修改,即該迭代器在要指向固定元素的const迭代器。是一種迭代器類型,對這種類型的迭代器解會得到一個指const對象的量。該對象不能修到的對象是常不能修改元素的容器內(nèi)的元素,。3.22如果采用下面的mid會產(chǎn)生什么結(jié)果?C++Primer(4版)習(xí)題解答60vector<int>::iteratormid=(vi.begin()+vi.end())/2;【解答】mid會出現(xiàn)編譯錯誤。3.23bitset對象包含的位模式:(a)bitset<64>bitvec(32);(b)bitset<32>bv(1010101);(c)stringbstr;cin>>bstr;bitset<8>bv(bstr);【解答】計(jì)算(a)bitvec(051,其余位置均0。(b)bv2(0024、205、7、8、11、13、位置為0。因?yàn)槭?010101對應(yīng)的(維長度。(b),get_size()是函數(shù)調(diào)用,不是常量表,不能用于定義數(shù)組的維數(shù)(維長度。000000000000001。(c)bv8(0用讀入的字符8bv的0~7位進(jìn)行初始化。3.245、7、8、11、13、位置為0。因?yàn)槭?010101對應(yīng)的(維長度。(b),get_size()是函數(shù)調(diào)用,不是常量表,不能用于定義數(shù)組的維數(shù)(維長度。000000000000001。(c)bv8(0用讀入的字符8bv的0~7位進(jìn)行初始化。3.24字所對應(yīng)的位置設(shè)(d)"fundamental12個元素,st只有11個元素。4.2stringsa[10];C++Primer(4版)習(xí)題解答62intia[10];stringsa2[10];intia2[10];}【解答】sa和sa2為元素類型為string的數(shù)組,自動調(diào)用string類的默認(rèn)構(gòu)造函數(shù)將1的bitset<32>對象。然后換個bitset對象,編寫一,給定一個空的小1?!窘獯稹縝itset<32bv(0x20212e)二:bitset<32>bv;intx0y1z;C++Primer(4版)習(xí)題解答61z=x+y;while(z<=21){bv.set(z);x=y;y=z;z=x+y;}1的數(shù)位的位編號符合各元素初始化為空字組,各元素初始化為;ia為在函數(shù)體外定義的內(nèi)置數(shù)0;ia2為在函數(shù)體內(nèi)定義的內(nèi)置數(shù)組,各元素未初始化,其值不確定。4.3下列哪些定義是錯誤的?(a)intia[7]={0,1,1,2,3,5,8};(b)vector<int>ivec={0,1,1,2,3,5,8};intia2[]=ia;intia3[]=ivec;【解答】(b)錯誤。vector對象不能用這種方式進(jìn)行初始化。(c)錯誤。不能用一個數(shù)組來初始化另一個數(shù)組。(dvector對象來初始化數(shù)組。4.4如何初始化數(shù)組的一部分或全部元素?【解答】分隔的元素初素,可以省略定義則初始化列表提供那契數(shù)列的規(guī)律。第四章數(shù)組和指針4.1假設(shè)get_size是一個沒有參數(shù)并返回int值的函數(shù),下列哪些定義是為什么?的?unsignedbuf_size=1024intia[buf_size];intia[get_size()];(c)intia[4*7-14];(d)charst[11]="fundamental";【解答】(a),buf_size是一個變量,不能用于定義數(shù)組的維數(shù)21初值個數(shù),則只初C++Primer(4版)習(xí)題解答630,若是類類用一組由花括號括字面值進(jìn)行初始化。4.5vector的缺點(diǎn)?!窘獯稹颗cvector類型相比,數(shù)組具有如下缺點(diǎn):數(shù)組的長度是固定的,而且數(shù)組不提供獲取其容量大小的size操作,也不提供自動添加元push_back操作。初值個數(shù),則只初C++Primer(4版)習(xí)題解答630,若是類類用一組由花括號括字面值進(jìn)行初始化。4.5vector的缺點(diǎn)?!窘獯稹颗cvector類型相比,數(shù)組具有如下缺點(diǎn):數(shù)組的長度是固定的,而且數(shù)組不提供獲取其容量大小的size操作,也不提供自動添加元push_back操作。而且如果需要更改數(shù)組的所有元素復(fù)64【解答】值給另一數(shù)組的對intmain(){constsize

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論