《C++程序设计教程第2版》第2次印刷勘误(XXXX1029)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

} 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. 输入的字符串为:l am a student.

字符串中包含的单词个数为:4

统计单词的函数还可以这样实现:

//单词数加1

〃滤掉多个连续的空格 //单词数加1 //跳过一个单词

相关文档
最新文档