C++总复习 四编程答案Word格式文档下载.docx

上传人:b****8 文档编号:22619471 上传时间:2023-02-04 格式:DOCX 页数:26 大小:21.30KB
下载 相关 举报
C++总复习 四编程答案Word格式文档下载.docx_第1页
第1页 / 共26页
C++总复习 四编程答案Word格式文档下载.docx_第2页
第2页 / 共26页
C++总复习 四编程答案Word格式文档下载.docx_第3页
第3页 / 共26页
C++总复习 四编程答案Word格式文档下载.docx_第4页
第4页 / 共26页
C++总复习 四编程答案Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C++总复习 四编程答案Word格式文档下载.docx

《C++总复习 四编程答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++总复习 四编程答案Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

C++总复习 四编程答案Word格式文档下载.docx

endl;

return0;

}

2.eg.3.7

usingnamespacestd;

intmain()

{

charch;

cin>

ch;

ch=(ch>

='

A'

&

ch<

Z'

)?

(ch+32):

//判别ch是否大写字母,是则转换

ch<

3.

法一:

eg.3.10while语句

inti=1,sum=0;

while(i<

=100)

{sum=sum+i;

i++;

}

sum="

sum<

法二:

eg.3.11do-while语句

do

{sum=sum+i;

i++;

}while(i<

=100);

法三:

P76for语句

intmain()

inti,sum=0;

for(i=1;

i<

=100;

i++)

sum=sum+i;

4.eg.3.12

{ints=1;

doublen=1,t=1,pi=0;

while((fabs(t))>

1e-7)//fabs()与abs()都是绝对值的意思

{pi=pi+t;

n=n+2;

s=-s;

t=s/n;

pi=pi*4;

pi="

setiosflags(ios∷fixed)<

setprecision(6)<

pi<

5.eg.3.13

{longf1,f2;

inti;

f1=f2=1;

=20;

i++)

{cout<

setw(12)<

f1<

f2;

//设备输出字段宽度为12,每次输出两个数

if(i%2==0)cout<

//每输出完4个数后换行,使每行输出4个数

f1=f1+f2;

//左边的f1代表第3个数,是第1.2个数之和

f2=f2+f1;

//左边的f2代表第4个数,是第2.3个数之和

}

return0;

6.eg.3.14

{intm,k,i,n=0;

boolprime;

//定义布尔变量prime

for(m=101;

m<

=200;

m=m+2)//判别m是否为素数,m由101变化到200,增量为2

{prime=true;

//循环开始时设prime为真,即先认为m为素数

k=int(sqrt(m));

//用k代表根号m的整数部分

for(i=2;

=k;

i++)//此循环作用是将m被2~根号m除,检查是否能整除

if(m%i==0)//如果能整除,表示m不是素数

{prime=false;

//使prime变为假

break;

//终止执行本循环

if(prime)//如果m为素数

setw(5)<

m;

//输出素数m,字段宽度为5

n=n+1;

//n用来累计输出素数的个数

if(n%10==0)cout<

//输出10个数后换行

//最后执行一次换行

7.3-2

intmain()

{floath,r,l,s,sq,vq,vz;

constfloatpi=3.1415926;

pleaseenterr,h:

r>

h;

l=2*pi*r;

s=r*r*pi;

sq=4*pi*r*r;

vq=3.0/4.0*pi*r*r*r;

vz=pi*r*r*h;

right)

<

setprecision

(2);

l="

setw(10)<

l<

s="

s<

sq="

sq<

vq="

vq<

vz="

vz<

8.3-3

intmain()

{floatc,f;

请输入一个华氏温度:

f;

c=(5.0/9.0)*(f-32);

//注意5和9要用实型表示,否则5/9值为0

摄氏温度为:

c<

9.3-11

{floatscore;

chargrade;

pleaseenterscoreofstudent:

score;

while(score>

100||score<

0)

dataerror,enterdataagain."

switch(int(score/10))

{case10:

case9:

grade='

break;

case8:

B'

case7:

C'

case6:

D'

default:

grade='

E'

scoreis"

score<

gradeis"

grade<

10.

floatPRICE;

pleaseenterpriceofbook:

PRICE;

if(PRICE>

50)

cout<

expensive"

elseif(PRICE>

=20)

normal"

inexpensive"

11.类似3-10

{intx,y;

enterx:

x;

if(x<

=10)

{y=4*x;

x="

x<

y=4x="

y;

elseif(x<

=20)//10<x≤20

{y=x*(x-1);

y=x(x-1)="

else//x>20

{y=x+20;

y=x+20="

12.试卷第二题第8小题

voidmain()

floata,b,c,t;

pleaseentera,b,c:

c;

if(a<

{t=a;

a=b;

b=t;

c)

a=c;

c=t;

if(b<

{t=b;

b=c;

setw(6)<

a<

b<

13.3-15

{intp,r,n,m,temp;

pleaseentertwopositiveintegernumbersn,m:

n>

if(n<

m)

{temp=n;

n=m;

m=temp;

//把大数放在n中,小数放在m中

p=n*m;

//先将n和m的乘积保存在p中,以便求最小公倍数时用

while(m!

=0)//求n和m的最大公约数

{r=n%m;

m=r;

HCF="

n<

//HCF指最大公约数;

LCD指最小公倍数

LCD="

p/n<

//p是原来两个整数的乘积

14.3-18

{floats=0,t=1;

intn;

for(n=1;

n++)

t=t*n;

//求n!

s=s+t;

//将各项累加

1!

+2!

+...+20!

="

15.3-19、第三题第二小题

{inti,j,k,n;

narcissusnumbersare:

for(n=100;

1000;

{i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

"

16.3-20

intmain()

{constintm=1000;

//定义寻找范围

intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;

inti,a,n,s;

for(a=2;

=m;

a++)//a是2~1000之间的整数,检查它是否为完数

{n=0;

//n用来累计a的因子的个数

s=a;

//s用来存放尚未求出的因子之和,开始时等于a

for(i=1;

a;

i++)//检查i是否为a的因子

if(a%i==0)//如果i是a的因子

{n++;

//n加1,表示新找到一个因子

s=s-i;

//s减去已找到的因子,s的新值是尚未求出的因子之和

switch(n)//将找到的因子赋给k1,...,k10

{case1:

k1=i;

//找出的笫1个因子赋给k1

case2:

k2=i;

//找出的笫2个因子赋给k2

case3:

k3=i;

//找出的笫3个因子赋给k3

case4:

k4=i;

//找出的笫4个因子赋给k4

case5:

k5=i;

//找出的笫5个因子赋给k5

case6:

k6=i;

//找出的笫6个因子赋给k6

case7:

k7=i;

//找出的笫7个因子赋给k7

case8:

k8=i;

//找出的笫8个因子赋给k8

case9:

k9=i;

//找出的笫9个因子赋给k9

case10:

k10=i;

//找出的笫10个因子赋给k10

}

if(s==0)//s=0表示全部因子都已找到了

{cout<

isa完数"

itsfactorsare:

if(n>

1)cout<

k1<

"

k2;

//n>

1表示a至少有2个因子

2)cout<

k3;

2表示至少有3个因子,故应再输出一个因子

3)cout<

k4;

3表示至少有4个因子,故应再输出一个因子

4)cout<

k5;

//以下类似

5)cout<

k6;

6)cout<

k7;

7)cout<

k8;

8)cout<

k9;

9)cout<

k10;

endl<

法二

{intm,s,i;

for(m=2;

m++)

{s=0;

if((m%i)==0)s=s+i;

if(s==m)

isa完数"

if(m%i==0)cout<

法三

{intk[11];

=1000;

a++)

if((a%i)==0)

k[n]=i;

//将找到的因子赋给k[1]┅k[10]

if(s==0)

n;

k[i]<

k[n]<

17.3-22

{intday,x1,x2;

day=9;

x2=1;

while(day>

{x1=(x2+1)*2;

//第1天的桃子数是第2天桃子数加1后的2倍

x2=x1;

day--;

total="

x1<

18.3-23

{floata,x0,x1;

enterapositivenumber:

//输入a的值

x0=a/2;

x1=(x0+a/x0)/2;

do

{x0=x1;

while(fabs(x0-x1)>

=1e-5);

Thesquarerootof"

is"

19.4-1

{inthcf(int,int);

intlcd(int,int,int);

intu,v,h,l;

u>

v;

h=hcf(u,v);

H.C.F="

h<

l=lcd(u,v,h);

L.C.D="

inthcf(intu,intv)

{intt,r;

if(v>

u)

{t=u;

u=v;

v=t;

while((r=u%v)!

=0)

{u=v;

v=r;

return(v);

intlcd(intu,intv,inth)

{return(u*v/h);

20.4-2

math.h>

floatx1,x2,disc,p,q;

{voidgreater_than_zero(float,float);

voidequal_to_zero(float,float);

voidsmaller_than_zero(float,float);

floata,b,c;

inputa,b,c:

disc=b*b-4*a*c;

root:

if(disc>

{

greater_than_zero(a,b);

x1="

x2="

x2<

elseif(disc==0)

{equal_to_zero(a,b);

else

{smaller_than_zero(a,b);

p<

+"

q<

i"

x2="

-"

voidgreater_than_zero(floata,floatb)/*定义一个函数,用来求disc>

0时方程的根*/

{x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

voidequal_to_zero(floata,floatb)/*定义一个函数,用来求disc=0时方程的根*/

x1=x2=(-b)/(2*a);

voidsmaller_than_zero(floata,floatb)/*定义一个函数,用来求disc<

p=-b/(2*a);

q=sqrt(-disc)/(2*a);

21.4-3

{intprime(int);

/*函数原型声明*/

intn;

inputaninteger:

if(prime(n))

isaprime."

isnotaprime."

intprime(intn)

{intflag=1,i;

for(i=2;

n/2&

flag==1;

if(n%i==0)

flag=0;

return(flag);

22.4-4

{intfac(int);

inta,b,c,sum=0;

entera,b,c:

sum=sum+fac(a)+fac(b)+fac(c);

!

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

当前位置:首页 > 高等教育 > 医学

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

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