C++习题函数文档格式.docx

上传人:b****4 文档编号:16488531 上传时间:2022-11-24 格式:DOCX 页数:16 大小:37.49KB
下载 相关 举报
C++习题函数文档格式.docx_第1页
第1页 / 共16页
C++习题函数文档格式.docx_第2页
第2页 / 共16页
C++习题函数文档格式.docx_第3页
第3页 / 共16页
C++习题函数文档格式.docx_第4页
第4页 / 共16页
C++习题函数文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C++习题函数文档格式.docx

《C++习题函数文档格式.docx》由会员分享,可在线阅读,更多相关《C++习题函数文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

C++习题函数文档格式.docx

}

returnb;

intgbs(inta,intb)

return(a*b)/gys(a,b);

第2题:

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

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

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

46473

6

235237

0

程序如下:

方法一:

intnum,k;

intdigit(int,int);

num>

k;

digit(num,k);

intdigit(intnum,intk)

inti,f;

i=1;

f=0;

//f=0,num不足k位,否则f=1

while(num!

if(i==k)

{

f=1;

break;

}

else

num=num/10;

i++;

if(f==1)

returnnum%10;

else

return0;

方法二:

inti,n,a[100];

/*将num中的各位数字从个位开始依次取出置于数组元素a[0]至a[i-1]中

循环结束后,i变量中存储了num的数据位数*/

i=0;

a[i]=num%10;

num=num/10;

i++;

if(i>

=k)

returna[k-1];

第3题:

哥德巴赫猜想指出:

任何一个不小于6的偶数都可以表示为两个素数之和。

例如:

6=3+38=3+5…50=3+47。

从键盘输入n(n>

=6且为偶数),输出对应的表达式,要求编写函数判断一个数是否为素数。

8

8=3+5

程序如下:

#include<

{

intn,n1,n2,hs=0;

intprime(int);

for(n1=3;

n1<

=n/2;

n1+=2)

if(prime(n1)==1)

n2=n-n1;

if(prime(n2)==1)

{

cout<

n<

="

+"

n2<

endl;

break;

}

//判断n是否是素数,若是,返回1,否返回0

intprime(intn)

intgs=0,i;

for(i=1;

i<

=n;

i++)

if(n%i==0)

gs++;

if(gs==2)

return1;

else

第4题:

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

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

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

HowAreYou?

 

hOWaREyOU?

stdio.h>

{chara[30];

voidzh(char[]);

//函数声明

gets(a);

//字串允许包含空格,所以用gets输入

zh(a);

puts(a);

voidzh(chart[])

{inti;

for(i=0;

t[i]!

=0;

if(t[i]>

='

a'

&

t[i]<

z'

t[i]-=32;

elseif(t[i]>

A'

Z'

t[i]+=32;

第5题:

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

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

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

12

{chara[50];

intcd(char[]);

printf("

%d"

cd(a));

intcd(chart[])

;

returni;

第6题:

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

在主函数中调用该函数,输出分2行,第一行为最大公倍数,第二行为最小公倍数。

1525 

5

75

(用指针)

intm,n,gy,gb;

voidgygb(int,int,int*,int*);

gygb(m,n,&

gy,&

gb);

gy<

endl<

gb;

voidgygb(inta,intb,int*pgy,int*pgb)

intr,a1,b1;

a1=a;

b1=b;

*pgy=b;

*pgb=(a1*b1)/b;

(用全局变量)

intgy,gb;

voidgygb(int,int);

gygb(m,n);

voidgygb(inta,intb)

gy=b;

gb=(a1*b1)/b;

第7题:

[95]编写函数,函数功能是:

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

10

3.6288e+06

intn;

floatjc(int);

jc(n);

//函数定义成实型

floatjc(intn)

inti;

floatt;

//存放阶乘的变量定义成实型

t=1;

t*=i;

returnt;

第8题:

[99]有一分段函数如下,编写函数进行计算,在主函数中输入x值,输出y值。

-1.5

0.00250501

5.6

31.8957

12.5

4.06202

math.h>

floatx,y;

floatjs(float);

x;

y=js(x);

y;

floatjs(floatx)

floaty;

if(x<

y=sin(x)+1;

elseif(x<

10)

y=x*x+3/x;

y=sqrt(x+4);

returny;

第9题:

编写函数,函数功能是:

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

123114350

312

intcount[3]={0},n,i;

voidtj(int[],int);

tj(count,n);

3;

cout<

count[i]<

;

voidtj(intjs[],intx)

while(x!

switch(x%10)

case1:

js[0]++;

break;

case2:

js[1]++;

case3:

js[2]++;

x=x/10;

第10题:

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

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

9

6734

734

1000

10101

101

intfun(intw)

{intn,k;

n=0;

k=w;

if(w<

10)return0;

//下面循环测试w的位数。

循环结束,n中为w的位数-1

while(w>

10)

{n++;

w=w/10;

//pow的函数值为实型,所以此处须强制转换成整型

returnk%(int)pow(10,n);

intnum;

num;

fun(num);

第11题:

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

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

4512

4125

inthb(inta,intb)

{intc,a_s,a_g,b_s,b_g;

a_s=a/10;

a_g=a%10;

b_s=b/10;

b_g=b%10;

c=a_s*1000+b_s*100+b_g*10+a_g;

returnc;

inta,b,c;

a>

b;

c=hb(a,b);

c;

第12题:

求数列的前n项和 

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

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

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

10

0.382179

floatjs(inti)

floatc;

c=1.0/(i*(i+1))*pow(-1,i+1);

//注意表达式类型

{floatjf(int);

intn,i;

floats=0;

s+=js(i);

s;

第13题:

求数列

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

50

1.66165

floatpd(intn)

{intp=1,i;

for(i=2;

{p=0;

break;

if(p==1)

return1.0/n;

}

floatpd(int),s;

s=0;

s+=pd(i);

第14题:

编写程序求给定整数n的“亲密对数”。

“亲密对数”是指:

若整数a的因子(包括1但不包括自身,下同)之和为b,而整数b的因子之和为a,则称a和b为一对“亲密对数”。

计算某一个数的因子(包括1但不包括自身)之和。

n由键盘输入,如果存在“亲密对数”则输出该数,否则输出NO。

220

284

NO

intyzh(intn)

{ints=0,i;

s+=i;

returns;

intn1,n2;

intyzh(int);

n1;

n2=yzh(n1);

if(n1==yzh(n2))

n2;

NO"

第15题:

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

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

程序中用到的主函数为:

intfun(inta[],intn)

intmax,min,s,i,t;

max=min=s=0;

s+=a[i];

if(a[max]<

a[i])

max=i;

elseif(a[min]>

min=i;

t=a[max];

a[max]=a[min];

a[min]=t;

inta[50],n,i,sum;

cin>

a[i];

sum=fun(a,n);

a[i]<

sum<

return0;

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

当前位置:首页 > 职业教育 > 职业技术培训

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

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