《C++程序设计教程第2版》第2次印刷勘误(XXXX1029)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计教程第2版》第2次印刷
勘误
作者:王珊珊臧洌张志航
♦P50第1处例4.17程序中的fl前后多双引号是多余的
原描述:
#include
#include
void main()
{
int f1, f2;
f1=f2=1;
for(int i=1; i<=20; i++)
{
cout << setw(12) << "f1" << setw(12) << f2 ; if(i%2==0) cout«endl; // A
f1=f1+f2;
f2=f2+f1;
}
}
应修改为:
#include
#include
void main()
{
int f1, f2;
f仁f2=1;
for(int i=1; i<=20; i++)
{
cout << setw(12) << f1 << setw(12) << f2 ; if(i%2==0) cout«endl;
f1=f1+f2;
f2=f2+f1;
}
}
♦P94 例7.10中,prime()函数中的第4行
原程序:
void prime(int a[],int n)
{
int i, j;
for(i=1; i if( a[i]!=0 ) for(j=i+1; j if(a[j]!=0) if(a[j]%a[i]==0) a[j]=0; } 应修改为: void prime(int a[],int n) { int i, j; for(i=1; i if( a[i]!=0 ) for(j=i+1; j 好像多了一个空行(即本行) ,可删除,不删也可以,看如何方便排版 } ♦ P107 将第2、3行红色字下移到“请读者比较这两个方法。”之前 原描述: 例 7.25 输入一行字符,统计其中的单词个数,单词之间用空格隔开 本算法中,求单词数的方法为:顺序扫描数组元素,若当前字符是非空格,而其前一个字符是空格, 则单词数加 1 。 红色字应下移 #include #include int countwords(char string[ ]) { int i, len, num=0; len=strlen(string); for (i=0; i { while(string[i]==' ')i++; if (i while(string[i]!=' '&&i return num; } void main( ) { char string[80]; int num; cout<<" 输入一行字符 :" cin.getline(string, 80); num=countwords(string); //滤掉多个连续的空格 //单词数加 1 //跳过一个单词 cout«"输入的字符串为:"vvstringvvendl; coutvv"字符串中包含的单词个数 为 :"vvnumvvendl; } 运行结果如下: 输入一行字符 :l am a student. vEnter> 输入的字符串为:l am a student. 字符串中包含的单词个数为:4 统计单词的函数还可以这样实现: int numwords(char string[]) { int i, num; char c=' '; //存放前一字符 for (i=num=0; stri ng[i]!='\0: i++ ) { if (c==' ' && string[i]!=' ') num++; c=string[i]; } return num; } 注意:应将上述红色字移至此处 请读者比较这两个方法。 应修改为: 例7.25输入一行字符,统计其中的单词个数,单词之间用空格隔开 #include #include int countwords(char string[]) { int i, len, num=0; len=strlen(string); for (i=0; i while(string[i]==' ')i++; if (i '&&i } return num; void main() { char string[80]; int num; coutvv"输入一行字符:"; cin.getline(string, 80); num=countwords(string); coutvv"输入的字符串为:"vvstringvvendl; coutvv"字符串中包含的单词个数为 :"vvnumvvendl; 运行结果如下: 输入一行字符 :l am a student. 字符串中包含的单词个数为:4 统计单词的函数还可以这样实现: //单词数加1 〃滤掉多个连续的空格 //单词数加1 //跳过一个单词