皮德常c++全套答案文档格式.docx

上传人:b****2 文档编号:14893165 上传时间:2022-10-25 格式:DOCX 页数:89 大小:86.98KB
下载 相关 举报
皮德常c++全套答案文档格式.docx_第1页
第1页 / 共89页
皮德常c++全套答案文档格式.docx_第2页
第2页 / 共89页
皮德常c++全套答案文档格式.docx_第3页
第3页 / 共89页
皮德常c++全套答案文档格式.docx_第4页
第4页 / 共89页
皮德常c++全套答案文档格式.docx_第5页
第5页 / 共89页
点击查看更多>>
下载资源
资源描述

皮德常c++全套答案文档格式.docx

《皮德常c++全套答案文档格式.docx》由会员分享,可在线阅读,更多相关《皮德常c++全套答案文档格式.docx(89页珍藏版)》请在冰豆网上搜索。

皮德常c++全套答案文档格式.docx

iostream>

usingnamespacestd;

voidmain()

{

inti,a,n;

longsum,temp;

sum=temp=0;

\nEnteraandn:

;

cin>

>

a>

n;

for(i=1;

=n;

i++)

{temp=a+temp*10;

sum+=temp;

theresultis:

2-11、输入一行字符,以回车结束,分别统计其中出现的大写英文字母、小写英文字母、数字字符、空格和其他字符出现的次数。

{charc;

intlletters=0,uletters=0,spaces=0,digits=0,others=0;

Pleaseenterthecharacters:

\n"

while((c=cin.get())!

='

\n'

{if(c>

a'

&

c<

z'

lletters++;

elseif(c>

A'

Z'

uletters++;

elseif(c=='

'

spaces++;

elseif(c>

0'

9'

digits++;

else

others++;

cout<

thenumberoflowercaseletters:

lletters<

endl;

thenumberofuppercaseletters:

uletters<

thenumberofdigits:

digits<

thenumberofspaces:

spaces<

thenumberofothers:

others;

第3章习题:

3-1、编写求阶乘及组合的函数,在主函数调用求组合的函数。

longfac(intn)

{

longfac=1;

for(inti=2;

fac*=i;

returnfac;

longcomb(intn,intk)

returnfac(n)/(fac(k)*fac(n-k));

{intn,k;

Pleaseinputthenandthek:

n>

k;

thecombinationnumberofnandk:

comb(n,k);

3-2、编写函数计算ex的近似值,在主函数中输入x及精度10-9(要求最后一项小于10-9)。

cmath>

doubleex(doublex,doubleeps)

inti=1;

doublee=1,t=1;

while(fabs(t)>

eps)

{t=t*x/i;

e=e+t;

i++;

}

return(e);

}

{doublex,eps;

Pleaseinoutxandeps:

x>

eps;

e**x:

ex(x,eps);

3-3、编写被调函数,求出1000以内素数,在主函数中调用函数并输出素数,每行输出5个素数。

iomanip>

voidPrimeNum(intn=1000)

{inti,j,k,flg=1,num=0;

for(i=2;

{

k=sqrt(i);

for(j=2;

j<

=k;

j++)

if(i%j==0)

flg=0;

if(flg==1)

{cout<

setw(5)<

i;

num++;

if(num%5==0)

cout<

}

flg=1;

{PrimeNum();

3-4、输出1000以内的所有完数。

voidprint(intn)//输出因子

=n/2;

if(n%i==0)cout<

voidwanshu(intn)

inta,s=0;

a=n/2;

=a;

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

if(s==n)

{cout<

n<

itsfactorsare:

print(n);

=1000;

wanshu(i);

3-5、编写函数(递归和非递归)求两个整数的最大公约数和最小公倍数。

intgcd(intx,inty)

{intr;

r=x%y;

while(r!

=0)

{x=y;

y=r;

return(y);

//intgcd(inta,intb)

//{if(a%b==0)

//returnb;

//else

//returngcd(b,a%b);

//}

intgbs(intx,inty)

{intbs,ys;

ys=gcd(x,y);

bs=x*y/ys;

returnbs;

{intx,y,g,bs;

Entertwonumber:

\n"

y;

g=gcd(x,y);

bs=gbs(x,y);

thegcd:

g<

thegbs:

bs;

3-6、递归函数反序输出数位。

voidrev(intx)/*反向输出*/

{if(x>

0)

x%10;

rev(x/10);

{intx;

Pleaseinputaninteger:

x;

reverse:

if(x<

0)

-"

x=-x;

rev(x);

3-8、递归函数实现十进制到二进制转换。

voidfun(inti)

if(i>

1)

fun(i/2);

i%2;

voidmain()

{intn;

Pleaseinputthedecimalnumber:

thebinarynumber:

fun(n);

3-9、编写函数输出图形。

(略)

3-10、编写min函数模板和max函数模板。

#include<

template<

classT>

Tmin(T&

var1,T&

var2)

{if(var1<

var2)

return(var1);

return(var2);

Tmax(T&

voidmain(void)

{intuserInt1,userInt2;

floatuserFloat1,userFloat2;

charuserChar1,userChar2;

Pleaseinputtwointegarnumbers:

userInt1>

userInt2;

theminis:

min(userInt1,userInt2)<

themaxis:

max(userInt1,userInt2)<

Pleaseinputtwofloatnumbers:

userFloat1>

userFloat2;

min(userFloat1,userFloat2)<

max(userFloat1,userFloat2)<

Pleaseinputtwocharnumbers:

userChar1>

userChar2;

min(userChar1,userChar2)<

max(userChar1,userChar2)<

3-11、绝对值函数模板。

TAbs(constTvar)

{if(var<

return(-var);

return(var);

{//测试整型量求绝对值

inttest1=12,test2=-34;

测试整型量:

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

当前位置:首页 > 高中教育 > 其它课程

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

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