《C++Primer Plus(第6版)中文版编程练习答案--第六章.pdf》由会员分享,可在线阅读,更多相关《C++Primer Plus(第6版)中文版编程练习答案--第六章.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1注释:这些程序是唐刀在学习的时候编写的,其中可能存在错误和不足,大家注释:这些程序是唐刀在学习的时候编写的,其中可能存在错误和不足,大家做个参考就好。做个参考就好。1.#include#include int main()using namespace std;cout请输入字符,符号结束endl;char ch;while(cin.get(ch)&ch!=)if(isalpha(ch)/如果 ch 是字母if(isupper(ch)/如果 ch 是大写字母coutchar(tolower(ch);else/如果 ch 是小写字母coutchar(toupper(ch);/转换为大写字母然后
2、输出else if(!isdigit(ch)/非数字非字母则原样输出coutch;elsecontinue;return 0;2.#includeusing namespace std;int main()double arr10=0,0,0,0,0,0,0,0,0,0;cout输入 10 个值,当输入为非数字时结束:endl;int count=0;2while(countarrcount)count+;double sum=0;double aver=0;for(int i=0;icount;i+)sum+=arri;aver=sum/count;int n=0;for(int j=0;j
3、aver)n+;cout输入count个数据,数据的平均值为:aver。共有n个数据大于平均值。endl;getchar();getchar();getchar();return 0;3.#include using namespace std;int main()coutPlease enter one of following choices:endl;coutc)carnivoreendl;coutp)pianistendl;coutt)treeendl;coutg)gametemp;while(temp!=c&temp!=p&temp!=t&temp!=g)coutPlease ent
4、er a c,p,t,or g:temp;3switch(temp)case c:coutA maple is a carnivoreendl;break;case p:coutA maple is a pianistendl;break;case t:coutA maple is a treeendl;break;case g:coutA maple is a gameendl;break;return 0;4.#include using namespace std;struct bopchar fullname20;char title20;char bopname20;int pref
5、erence;int main()bop member5=Wimp Macho,leader,wm,1,Raki Rhodes,member1,rr,2,Celia Laiter,member2,cl,3,Hoppy Hipman,member3,hh,4,Pad Hand,member4,ph,5;coutbenevolent order of programmers reportendl;couta.display by nameendl;coutb.display by titleendl;coutc.display by bopnameendl;coutd.display by pre
6、ferenceendl;coutq.quittemp&temp!=q)switch(temp)4case a:for(int i=0;i5;i+)coutmemberi.fullnameendl;break;case b:for(int i=0;i5;i+)coutmemberi.titleendl;break;case c:for(int i=0;i5;i+)coutmemberi.bopnameendl;break;case d:for(int i=0;i5;i+)coutmemberi.preferenceendl;break;default:break;coutByeendl;retu
7、rn 0;5.#include using namespace std;int main()int money;/存储用户输入double tax;/存储需要缴纳的税金int temp;/根据用户输入得出的用户需要缴税的等级while(cinmoney&money=0)5if(money=5000)/给用户输入规定一个缴税等级,方便计算temp=0;else if(money=5001)temp=1;else if(money=15001)temp=2;elsetemp=3;switch(temp)/根据上面规定的等级,计算税金case 0:tax=0;break;case 1:tax=(mo
8、ney-5000)*0.1;break;case 2:tax=(money-15000)*0.15+10000*0.1;break;case 3:tax=(money-35000)*0.2+20000*0.15+10000*0.1;break;coutYou should pay tax tvarps.endl;getchar();/程序运行时方便阅读getchar();getchar();return 0;6.#include#include#includeusing namespace std;struct donation/结构体,存储捐款者信息string name;double mo
9、ney;int main()int n_of_donation=0;6cout请输入捐款者数目:n_of_donation;donation*list=new donationn_of_donation;/创建动态分配的结构数组for(int i=0;in_of_donation;i+)/输入捐款者的信息cout输入第i+1位捐款者的信息:endl;cout名字:;cin.sync();getline(cin,listi.name);coutlisti.money;int temp=0;/记录有没有人的捐款大于一万元cout重要捐款人:endl;for(int i=0;i10000)coutl
10、isti.namelisti.moneyendl;temp+;if(temp=0)cout此项目没有人。endl;temp=0;cout捐款人:endl;for(int i=0;in_of_donation;i+)if(listi.money=10000)coutlisti.namelisti.moneyendl;temp+;if(temp=0)cout此项目没有人。endl;delete list;/释放内存getchar();/程序运行时方便阅读getchar();return 0;77.#include#include#include#includeusing namespace std
11、;int main()int yuanyin=0;int fuyin=0;int qita=0;string word;char temp;coutEnter words(q to quit):word;while(word!=q&word!=Q)if(isalpha(word0)/以字母开头的单词temp=word0;switch(temp)/计算case a:yuanyin+;break;case e:yuanyin+;break;case i:yuanyin+;break;case o:yuanyin+;break;case u:yuanyin+;break;default:fuyin+
12、;else/其他qita+;cinword;coutyuanyin words beginning with vowelsendl;/输出coutfuyin words beginning with consonantsendl;coutqitaothersendl;getchar();/程序运行时方便阅读getchar();8return 0;8.#include#include#include#includeusing namespace std;int main()char filename20;ifstream inFile;coutEnter name of file:endl;ci
13、n.getline(filename,20);inFile.open(filename);if(!inFile.is_open()coutcould not open the file.n;coutvalue;while(inFile.good()count+;inFilevalue;if(inFile.eof()coutEnd of file reached.n;else if(inFile.fail()coutInput terminated by data mismatch.n;elsecoutInput terminated for unknown reason.n;if(count=
14、0)coutNone of letter!;elsecoutNumber of letters:countendl;inFile.close();9getchar();/程序运行时方便阅读getchar();return 0;9.#include#include#include#include const int MAX=60;struct Patronsstd:string name;double money;int main()using namespace std;int n;int sign=0;/看看是否须要输出 nonechar filenameMAX;ifstream inFil
15、e;cout请输入文件名:;cin.getline(filename,MAX);inFile.open(filename);if(!inFile.is_open()cout无法打开文件:filenameendl;coutProgram terminating.n;/开始从文件读入Patrons*n_Patrons=new Patronsn;for(int i=0;in_Patronsi.money;inFile.close();/关闭文件10coutendlendlGrand Patrons:endlendl;for(i=0;i10000)coutn_Patronsi.name捐款:n_Patronsi.moneyendl;sign+;if(0=sign)coutnoneendl;sign=0;/重新设置标志coutPatrons:endlendl;for(i=0;in;i+)if(n_Patronsi.money=10000)coutn_Patronsi.name捐款:n_Patronsi.moneyendl;sign+;if(0=sign)coutnoneendl;return 0;