您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > 《C++程序设计教程 第2版》第2次印刷 勘误(XXXX1029)
《C++程序设计教程第2版》第2次印刷勘误作者:王珊珊臧洌张志航◆P50第1处例4.17程序中的f1前后多双引号是多余的原描述:#includeiostream.h#includeiomanip.hvoidmain(){intf1,f2;f1=f2=1;for(inti=1;i=20;i++){coutsetw(12)f1setw(12)f2;if(i%2==0)coutendl;//Af1=f1+f2;f2=f2+f1;}}应修改为:#includeiostream.h#includeiomanip.hvoidmain(){intf1,f2;f1=f2=1;for(inti=1;i=20;i++){coutsetw(12)f1setw(12)f2;if(i%2==0)coutendl;f1=f1+f2;f2=f2+f1;}}◆P94例7.10中,prime()函数中的第4行原程序:voidprime(inta[],intn){inti,j;for(i=1;in/2;i++)//a[0]不是素数,因此从a[1]开始判断if(a[i]!=0)for(j=i+1;jn;j++)if(a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}应修改为:voidprime(inta[],intn){inti,j;for(i=1;in/2;i++)//未使用a[0]元素,因此从a[1]开始判断if(a[i]!=0)for(j=i+1;jn;j++)if(a[j]!=0)if(a[j]%a[i]==0)a[j]=0;好像多了一个空行(即本行),可删除,不删也可以,看如何方便排版}◆P107将第2、3行红色字下移到“请读者比较这两个方法。”之前原描述:例7.25输入一行字符,统计其中的单词个数,单词之间用空格隔开。本算法中,求单词数的方法为:顺序扫描数组元素,若当前字符是非空格,而其前一个字符是空格,则单词数加1。红色字应下移#includeiostream.h#includestring.hintcountwords(charstring[]){inti,len,num=0;len=strlen(string);for(i=0;ilen;){while(string[i]=='')i++;//滤掉多个连续的空格if(ilen)num++;//单词数加1while(string[i]!=''&&ilen)i++;//跳过一个单词}returnnum;}voidmain(){charstring[80];intnum;cout输入一行字符:;cin.getline(string,80);num=countwords(string);cout输入的字符串为:stringendl;cout字符串中包含的单词个数为:numendl;}运行结果如下:输入一行字符:Iamastudent.Enter输入的字符串为:Iamastudent.字符串中包含的单词个数为:4统计单词的函数还可以这样实现:intnumwords(charstring[]){inti,num;charc='';//存放前一字符for(i=num=0;string[i]!='\0';i++){if(c==''&&string[i]!='')num++;//单词数加1c=string[i];}returnnum;}注意:应将上述红色字移至此处请读者比较这两个方法。应修改为:例7.25输入一行字符,统计其中的单词个数,单词之间用空格隔开。#includeiostream.h#includestring.hintcountwords(charstring[]){inti,len,num=0;len=strlen(string);for(i=0;ilen;){while(string[i]=='')i++;//滤掉多个连续的空格if(ilen)num++;//单词数加1while(string[i]!=''&&ilen)i++;//跳过一个单词}returnnum;}voidmain(){charstring[80];intnum;cout输入一行字符:;cin.getline(string,80);num=countwords(string);cout输入的字符串为:stringendl;cout字符串中包含的单词个数为:numendl;}运行结果如下:输入一行字符:Iamastudent.Enter输入的字符串为:Iamastudent.字符串中包含的单词个数为:4统计单词的函数还可以这样实现:intnumwords(charstring[]){inti,num;charc='';//存放前一字符for(i=num=0;string[i]!='\0';i++){if(c==''&&string[i]!='')num++;//单词数加1c=string[i];}returnnum;}本算法中,求单词数的方法为:顺序扫描数组元素,若当前字符是非空格,而其前一个字符是空格,则单词数加1。请读者比较这两个方法。◆P119例8.5的运行结果,每行前应有7个空格原描述:运行结果如下:1redyellowblue原:每行行前无空格2redyellowwhite3redyellowblack4redyellowpurple5redblueyellow6redbluewhite...115purplewhiteblue116purplewhiteblack117purpleblackred118purpleblackyellow119purpleblackblue120purpleblackwhite可能的组合数为:120应修改为:运行结果如下:1redyellowblue每行前加7个空格,每列数据右对齐2redyellowwhite3redyellowblack4redyellowpurple5redblueyellow6redbluewhite...115purplewhiteblue116purplewhiteblack117purpleblackred118purpleblackyellow119purpleblackblue120purpleblackwhite可能的组合数为:120◆P135图9-16垂直的箭头移动后,箭头上方的文字也应随箭头移动原描述:应改为a[2][0]a[2][1]a[2][2]a[2][3]a[0]a[1]a[2]aa+1a+2a[1][0]a[1][1]a[1][2]a[1][3]a[0][0]a[0][1]a[0][2]a[0][3]a[0]a[0]+1a[0]+2a[0]+3a[1]a[1]+1a[1]+2a[1]+3a[2]a[2]+1a[2]+2a[2]+3图9-16二维数组行指针和元素指针示意a[2][0]a[2][1]a[2][2]a[2][3]a[0]a[1]a[2]aa+1a+2a[1][0]a[1][1]a[1][2]a[1][3]a[0][0]a[0][1]a[0][2]a[0][3]a[0]a[0]+1a[0]+2a[0]+3a[1]a[1]+1a[1]+2a[1]+3a[2]a[2]+1a[2]+2a[2]+3图9-16二维数组行指针和元素指针示意◆P225例13.1对齐方式不对原描述:#includeiostream.h#includestring.hclassString{intLength;char*Strp;public:String();//重载构造函数1String(char*s);//重载构造函数2String(String&s);//重载构造函数3voidPrint(){coutString=Strpendl;coutLength=Lengthendl;}~String(){if(Strp)delete[]Strp;}//析构函数};应修改为:classString{intLength;char*Strp;public:String();//重载构造函数1String(char*s);//重载构造函数2String(String&s);//重载构造函数3voidPrint(){coutString=Strpendl;coutLength=Lengthendl;}~String(){if(Strp)delete[]Strp;}//析构函数注意:对齐方式,缩进};
本文标题:《C++程序设计教程 第2版》第2次印刷 勘误(XXXX1029)
链接地址:https://www.777doc.com/doc-52889 .html