C++语言程序设计课后答案.docx

上传人:b****1 文档编号:2096316 上传时间:2022-10-26 格式:DOCX 页数:15 大小:17.59KB
下载 相关 举报
C++语言程序设计课后答案.docx_第1页
第1页 / 共15页
C++语言程序设计课后答案.docx_第2页
第2页 / 共15页
C++语言程序设计课后答案.docx_第3页
第3页 / 共15页
C++语言程序设计课后答案.docx_第4页
第4页 / 共15页
C++语言程序设计课后答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C++语言程序设计课后答案.docx

《C++语言程序设计课后答案.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计课后答案.docx(15页珍藏版)》请在冰豆网上搜索。

C++语言程序设计课后答案.docx

C++语言程序设计课后答案

第二章C++简单程序设计

2-10执行完下列语句后,a、b、c三个变量的值为多少?

a=30;

b=a++;

c=++a;

解:

a:

32;b:

30;c:

32;

2-13写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while语句完成同样的循环。

解:

for循环:

for(intn=100;n<=200;n+=2);

while循环:

intx=100;

while(n<=200)

n+=2;

do…while循环:

intn=100;

do

{

n+=2;

}while(n<=200);

2-17修改下面这个程序中的错误,改正后它的运行结果是什么?

#include<>

voidmain()

inti

intj;

i=10;/*给i赋值

j=20;/*给j赋值*/

cout<<"i+j=<

return0;

}

解:

改正:

#include<>

intmain()

{

inti;

intj;

i=10;09:

;<>?

@ABCDEFGHIJKLMNOP_QRSTUVWXYZ[\]^'abcdefghijklmnopqrstuvwxyz<|>~s

2-21运行下面的程序,观察其输出,与你的设想是否相同?

#include<>

intmain()

{

unsignedintx;

unsignedinty=100;

unsignedintz=50;

x=y-z;

cout<<"Differenceis:

"<

x=z-y;

cout<<"\nNowdifferenceis:

"<

return0;

}

解:

程序运行输出:

Differenceis:

50

Nowdifferenceis:

46

注意,第二行的输出并非-50,注意x、y、z的数据类型。

2-22运行下面的程序,观察其输出,体会i++与++i的差别。

#include<>

intmain()

{

intmyAge=39;n";

cout<<"Youare:

"<

myAge++;.\n";

cout<<"Iam:

"<

cout<<"Youare:

"<

cout<<"Anotheryearpasses\n";

cout<<"Iam:

"<

cout<<"Youare:

"<<++yourAge<<"yearsold\n";

cout<<"Let'sprintitagain.\n";

cout<<"Iam:

"<

cout<<"Youare:

"<

return0;

}

解:

程序运行输出:

Iam39yearsold

Youare39yearsold

Oneyearpasses

Iam40yearsold

Youare40yearsold

Anotheryearpasses

Iam40yearsold

Youare41yearsold

Let'sprintitagain

Iam41yearsold

Youare41yearsold

2-28编写一个完整的程序,实现功能:

向用户提问"现在正在下雨吗?

",提示用户输入Y或N。

若输入为Y,显示"现在正在下雨。

";若输入为N,显示"现在没有下雨。

";否则继续提问"现在正在下雨吗?

"

解:

源程序:

#include<>

#include<>

voidmain()

{

charflag;

while

(1)

{

cout<<"现在正在下雨吗?

(YesorNo):

";

cin>>flag;

if(toupper(flag)=='Y')

{

cout<<"现在正在下雨。

";

break;

}

if(toupper(flag)=='N')

{

cout<<"现在没有下雨。

";

break;

}

}

}

程序运行输出:

现在正在下雨吗?

(YesorNo):

x

现在正在下雨吗?

(YesorNo):

l

现在正在下雨吗?

(YesorNo):

q

现在正在下雨吗?

(YesorNo):

n

现在没有下雨。

或:

现在正在下雨吗?

(YesorNo):

y

现在正在下雨。

2-29编写一个完整的程序,运行时向用户提问"你考试考了多少分?

(0~100)",接收输入后判断其等级,显示出来。

规则如下:

解:

#include<>

voidmain()

{

inti,score;

cout<<"你考试考了多少分?

(0~100):

";

cin>>score;

if(score>100||score<0)

cout<<"分数值必须在0到100之间!

";

else

{

i=score/10;

switch(i)

{

case10:

case9:

cout<<"你的成绩为优!

";

break;

case8:

cout<<"你的成绩为良!

";

break;

case7:

case6:

cout<<"你的成绩为中!

";

break;

default:

cout<<"你的成绩为差!

";

}

}

}

程序运行输出:

你考试考了多少分?

(0~100):

85

你的成绩为良!

2-31用穷举法找出1~100间的质数,显示出来。

分别使用while,do-while,for循环语句实现。

解:

源程序:

使用while循环语句:

#include<>

#include<>

voidmain()

{

inti,j,k,flag;

i=2;

while(i<=100)

{

flag=1;

k=sqrt(i);

j=2;

while(j<=k)

{

if(i%j==0)

{

flag=0;

break;

}

j++;

}

if(flag)

cout<

i++;

}

}

使用do…while循环语句:

#include<>

#include<>

voidmain()

{

inti,j,k,flag;

i=2;

do{

flag=1;

k=sqrt(i);

j=2;

do{

if(i%j==0)

{

flag=0;

break;

}

j++;

}while(j<=k);

if(flag)

cout<

i++;

}while(i<=100);

}

使用for循环语句:

#include<>

#include<>

voidmain()

{

inti,j,k,flag;

for(i=2;i<=100;i++)

{

flag=1;

k=sqrt(i);

for(j=2;j<=k;j++)

{

if(i%j==0)

{

flag=0;

break;

}

}

if(flag)

cout<

}

}

程序运行输出:

2是质数.

3是质数.

5是质数.

7是质数.

11是质数.

13是质数.

17是质数.

19是质数.

23是质数.

29是质数.

31是质数.

37是质数.

41是质数.

43是质数.

47是质数.

53是质数.

59是质数.

61是质数.

67是质数.

71是质数.

73是质数.

79是质数.

83是质数.

89是质数.

97是质数.

2-33定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

解:

源程序见"实验指导"部分实验二

2-34在程序中定义一个整型变量,赋以1~100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。

分别使用while、do…while语句实现循环。

解:

nNumberone:

";

cin>>one;

cout<<"Numbertwo:

";

cin>>two;

answer=Divider(one,two);

if(answer>-1)

cout<<"Answer:

"<

else

cout<<"Error,can'tdividebyzero!

";

return0;

}

程序运行输出:

Entertwonumbers.

Numberone:

8

Numbertwo:

2

Answer:

4

3-8编写函数把华氏温度转换为摄氏温度,公式为:

C=(F-32)*5/9;在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度。

解:

源程序见"实验指导"部分实验三

3-10编写函数求两个整数的最大公约数和最小公倍数。

解:

源程序:

#include<>

#include<>

intfn1(inti,intj);voidPrintNameOf();};

Document:

:

Document(char*name)

{

Name=newchar[strlen(name)+1];

strcpy(Name,name);

};

voidDocument:

:

PrintNameOf()

{

cout<

}

classBook:

publicDocument

{

public:

Book(char*name,longpagecount);

voidPrintNameOf();

private:

longPageCount;

};

Book:

:

Book(char*name,longpagecount):

Document(name)

{

PageCount=pagecount;

}

voidBook:

:

PrintNameOf()

{

cout<<"Nameofbook:

";

Document:

:

PrintNameOf();

}

voidmain()

{

Documenta("Document1");

Bookb("Book1",100);

();

}

程序运行输出:

Nameofbook:

Book1

7-9定义基类Base,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1