C++函数编程20道习题汇总含其详细程序解答.docx

上传人:b****3 文档编号:3703936 上传时间:2022-11-24 格式:DOCX 页数:15 大小:372.97KB
下载 相关 举报
C++函数编程20道习题汇总含其详细程序解答.docx_第1页
第1页 / 共15页
C++函数编程20道习题汇总含其详细程序解答.docx_第2页
第2页 / 共15页
C++函数编程20道习题汇总含其详细程序解答.docx_第3页
第3页 / 共15页
C++函数编程20道习题汇总含其详细程序解答.docx_第4页
第4页 / 共15页
C++函数编程20道习题汇总含其详细程序解答.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C++函数编程20道习题汇总含其详细程序解答.docx

《C++函数编程20道习题汇总含其详细程序解答.docx》由会员分享,可在线阅读,更多相关《C++函数编程20道习题汇总含其详细程序解答.docx(15页珍藏版)》请在冰豆网上搜索。

C++函数编程20道习题汇总含其详细程序解答.docx

C++函数编程20道习题汇总含其详细程序解答

第1题:

编写两个函数,函数功能分别是:

求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。

样例输入:

1525

样例输出:

575

编写函数factors(num,k),函数功能是:

求整数num中包含因子k的个数,如

果没有该因子则返回0,例如:

32=2X2X2X2X2,则factors(32.2)=5o要求输入输出均在主函数中完成。

编写函数,函数功能是:

计算n的阶乘,要求输入输出均在主函数中完成。

编写函数,函数功能是:

计算k以(包括k)最大的10个(不足10个则是所有的)能被13或17整除的自然数之和。

要求输入输出均在主函数中完成。

样例输入:

500样例输出:

4622

#include

s+=n;}

intsum(intk)

if(c>=10)

{intn,c=O,s=O;

break;}

for(n=k:

n>0;n-)

returns:

}

{if(n%13=0lln%17==0)

intmain()

{c卄;

{intk,s;

cin»k;s=sum(k);cout«s«endl:

return0:

}

第5题:

编写函数,函数功能是:

根据下列公式求Ti的值(直到某一项的值小于给定精度£为止),精度£由键盘输入,要求输入输出均在主函数中完成。

1+2+2启+丄是启+4乙2二+...

3353573579

样例输入:

0.0005样例输出:

3.14058#includedoublepai(doublee){doublesak,p;

s=l;

a=1/3.0;

for(k=2;;k++)

第6题:

编写程序求

{s+=a;a=a*(k/(k*2+l));if(a

returnp;}intniain()

{doublec.p;cin»e;p=pai(e);cout«p«endl;return0:

}

要求使用函数,函数功能是:

求某个数的阶乘。

n由键盘输入,输入输出均在主函数中完成。

注意:

0!

=1o

要求使用函数计算该序列的前N项和Sn,直到Sn大于§为止,g由键盘输入,输

入揄出均在主函数中完成。

样例输入:

50

样例输出:

50.4167、

#include

s+=a:

}

cin»q;

floatsum(floatq)

returns;}

s=sum(q);

{floats=0.a,n;

intmain()

cout«s«endl;

for(n=l;s<=q;n++)

{

return0;}

{a=(n+1.0)/n;

floatq,s;

第8题:

求数列的前n项和

5=1+丄+一?

一十……+!

1十21+2十31+2+3+……

要求使用函数,函数功能是:

计算数列的每一项,n由键盘输入。

累加过程和输

入揄出均在主函数中完成。

样例输入:

50

样例输岀:

1.96079

#include

a=1.0/s;

for(i=l;i<=n;i++)

floatmyx(intn)

returna;}

s+=myx(i);

{floata;

intmain()

cout«s«endl;

inti,s=0;

{intn.i;

return0;}

for(i=l;i<=n;i++)

floats=0;

s+=i;

cin»n;

第9题:

编写函数fun(num),其中num是一个n位数,函数功能是:

求整数num的后nT位,如果mo是一位数则返回0,要求输入输出均在主函数中完成。

样例输入:

1000样例输岀:

0样例输入:

10101样例输出:

101

第10题:

编写函数,函数功能是:

判断输入的字符是否为数字字符。

如果是,则输出YES,否则输出NO,要求输入输出均在主函数中完成。

样例输入:

5

样例输岀:

YES

样例输入:

B

样例输出:

NO

第11题:

编写函数,函数功能是:

将两个两位数的正整数a、b合并成一个整数C,合并规则是将a的十位和个位分别放在c的千位和个位,将b的十位和个位分别放在c的百位和十位。

a、b由键盘输入,输入输出均在主函数中完成。

样例输入:

4512

第14题:

求满足的n的最大值,要求使用函数,函数功能是:

计算n的立方,k由键盘输入。

累加过程和输入输出均在主函数中完成。

样例输入:

10000

勿_1十05"05(0・5—十—

2!

3!

w!

直到相邻两项之差的绝对值小于1E-6为止。

要求使用函数,函数功能是:

计算数列的每一项,x由键盘输入。

累加过程和输入输出均在主函数中完成。

 

直到某一项的绝对值小于0.00001为止。

要求使用函数,函数功能是:

计算数列

的每一项,X由键盘输入。

累加过程和输入输出均在主函数中完成。

 

第17题:

利用级数展开式计算sinx

直到某一项的绝对值小于0.00001为止。

要求使用函数,函数功能是:

计算数列

的每一项,X由键盘输入。

累加过稈和揄入输出均存主函数中完成。

样例输入:

0

样例输岀:

0

样例输入:

3

样例输岀:

0.14112

#include

c=c*i:

for(i=l;;i++)

#include

d=l/c;

{p=an(x4);

doublean(doublex.doublen)

f=a*b*d;

s=s+p;

{doublef,a,b.i,c=l・d;

returnf;}

if(fabs(p)<0.00001)

a=pow(-hn+l);

intmain()

break;}

b=pow(x,2*n-l);

{doublex,s=0,i,p;

cout«s«endl;

for(i=1:

i<=(2*n-l);i++)

cin»x;

return0:

}

第18题:

编写程序求Fibonacci数列的前n项阶乘之和,即。

要求使用函数,函数功能是:

求某个数的阶乘。

n由键盘输入,输入输出均在主函数中完成。

注意:

样例输入:

6样例输出:

40450

第19题:

求数列其中分母为n以(包括n)的素数。

要求使用函数,函数功能是:

计算数列的每一项,n由键盘输入。

累加过程和输入输出均在主函数中完成。

样例输入:

50

样例输出:

1.66165

#include

inti;

if(a==l)

#include

a=0;

d=1.0/n;

floatan(intn)

for(i=l;i

elsed=0;

{

if(n%i==0)

returnd;

floata.b=0,c.d;

a++;

}

intmain(){

for(i=l;i<=n;i++)

{

cout«s«endl;return0;

floats=0,n,a;

a=an(i);

}

inti;

s+=a;

cin»n;

}

第20题:

编写程序求m和n之间(包括m和mm<=n)所有素数的平方根之和。

要求使用

函数,函数功能是:

判断某一个数是否为素数。

m和n

由键盘输入,要求输入输

出均存主函数中完成°

样例输入:

100999

样例输出:

3157.48

#include

if(m==2)

{b=pd(k);

#include

flag=l;

if(b)

intpd(intn)

return(flag);}

s=s+sqrt(k);}

{inti.m=0,flag=0;

intmain()

cout«s«endl;

for(i=l;i<=n;i++)

{doublem,n,s=0bk;

return0;}

if(n%i==O)

cin»m»n;

m++;

for(k=m:

k<=n:

k++)

第21题:

样例输入:

46473样例输出:

4样例输入:

235237

样例输出:

0

#include

s=0;

{intnun\k.t;

#include

else

cin»num»k;

intdigit(intx,intk)

{a=x/int(pow(lO.n-k));

t=digit(num,k);

{intnsa.b;

b=a%10;}

cout«t«endl;

n=int(loglO(x))+l;

returnb;}

return0:

}

if(n

intmain()

编写函数digit(numrk),函数功能是:

求整数num从左边开始的第k位数字的值,如果num位数不足k位则返回0。

要求输入输出均在主函数中完成。

第1题:

编写函数,将字符串中的大写字母变成对应的小写字母,小写字母变成对应的大写字母,其它字符不变。

在主函数中调用该函数,完成任意字符串的转换,并输出结果。

输入字符串(允许包含空格),输出处理后的结果。

样例输入:

HowArcYou?

a[i]=a[i]+32;

int1;

elseif(a[i]>=,a,&&a[i]v=h)

gets(a);

a[i]=a[i]-32;

l=strlen(a);

else

exc(aj);

a[i]=a[i];}}

puts(a);

intmain()

return0:

}

{chara[50];

样例输出:

hOWaREyOU?

#includeusingnamespacestd;

#includevoidexc(charaf]Jnt1){inti;

for(i=0;i

{if(a[i]>=Af&&a[i]v=Z)

第2题:

编写函数,形成n阶辉三角形。

在主函数中调用该函数,形成辉三角形,并输出

结果。

输入阶数m输出处理后的结果。

样例输入:

5

样例输出:

1

11

121

1331

14641

#include

for(i=2:

i

for(j=0;j

#include

{for(j=l;j

{for(i=0;i<=j;i++)

voidyh(inta[][50],int1)

a[i]U]=a[i-l][j-l]+a[i-l]U];}}

cout«a[j][i]«H

{inti,j,k;

intmain()

cout«endl;}

for(k=0;k

{inta[50][50],n,ij;

return0;}

{a[k][O]=l;

cin»n;

a[k][k]=l;}

vh(a.n);

第3题:

编写函数,求一个字符串的长度。

在主函数中调用该函数,输出结果。

输入字符串(允许包含空格),输出字符串的长度。

样例输入:

HowAreYou?

编写函数,将字符数组s2中的前n个字符复制到字符数组s1中,不允许使用

strcpy函数。

在主函数中调用该函数,完成任意字符串的复制,并输出结果。

输入分2行,第一行为字符串(不包含空格),第二行为n的值,输出处理后的纟吉果。

样例输入:

Hello,world!

8

样例输岀:

HcIIoavo

#include

voidcp(chara[]xharb[],intn){inti;

for(i=0;i

b[i]=a[i];

第5题:

编写函数,函数功能是:

统计整数n的各位上出现数字1、2、3的次数。

要求输入输出均在主函数中完成。

样例输入:

123114350

样例输出:

312

#include

b[0]++;

intb[50],l;

usingnamespacestd;

elseif(a[i]==,2,)

gets(a);

#include

b[l]++;

I=strlen(a);

voidcs(chara[]9intb[]jnt1)

elseif(a[i]=3)

cs(a,b,l);

{inti;

b[2]++;

cout«b[0]«HM«b|1]«H

b[0]=0;b[l]=0;b[2]=0;

elsecontinue;}}

M«b[2]«endl;

for(i=0;i

intmain()

return0:

}

{if(a[i]=T)

{chara[50];

第6题:

编写程序完成进制转换,要求使用函数,函数功能是:

十进制转换为二进制,$

入揄出均在主函数中完成。

样例输入:

125

样例输出:

1111101

#include

a[i]=x%2;

cin»m;

intzh(inta[]jntx)

x=x/2;}

n=zh(a,m);

{inti=-l;

returni;}

for(k=n;k>=0;k-)

while(x!

=0)

intmain()

(cout«a[k];}

{i卄;

{inta[32],m,n,k;

return0;}

第7题:

第8题:

编写函数,功能是交换数组中的最大数和最小数的位置,并计算所有数之和。

例如数组a有5个元素3、4、1、5、2,将最大数5和最小数1的位置交换后得到

3、4、5、仁2,总和为15。

程序中用到的主函数为:

intmain()

<

inta[50],n,i,sum;cin»n;

for(i=0;i

sum=f:

un(a9n);

For(i=8;i

min=i;cin»n;

第9题:

编写子函数fum功能是挑出字符串中ASCII码值为偶数的大写字母并存放在原字符串中。

例如字符串str为HaB0bD1c\其中满足条件的字符为'B,和因此调用fun函数后,字符串str变为HBD\程序中用到的主函数为:

n=strlen(a);

a[i]=b[i];

for(i=0:

i

if(a[i]>=A,&&a[i]<=,Z,&&a

}

#include

[i]%2=0)

intmain()

#include

{

{

#include

chara[100];

voidzf(chara[|)

b[j]=a[i];

gets(a);

{

j++;

zf(a);

charb[50];

}

puts(a);

intij=O,n;

for(i=0;i

return0;}

第10题:

编写程序完成进制转换,要求使用函数,函数功能是:

十进制转换为八进制,输入输出均在主函数中完成。

样例输入:

125

样例输出:

175

#include

#include

intzh(intb[]Jntn)

i卄;n=n/8;

}b[i]=AO';returni;

intmain()

{

intb[100|;intn,a,i;cin»n;

a=zh(b.n);for(i=a-l;i>=0:

i-)cout«b[i];

return0:

}

 

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

当前位置:首页 > 工程科技 > 能源化工

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

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