第七章函数Word下载.docx

上传人:b****6 文档编号:20377240 上传时间:2023-01-22 格式:DOCX 页数:15 大小:33.26KB
下载 相关 举报
第七章函数Word下载.docx_第1页
第1页 / 共15页
第七章函数Word下载.docx_第2页
第2页 / 共15页
第七章函数Word下载.docx_第3页
第3页 / 共15页
第七章函数Word下载.docx_第4页
第4页 / 共15页
第七章函数Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

第七章函数Word下载.docx

《第七章函数Word下载.docx》由会员分享,可在线阅读,更多相关《第七章函数Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

第七章函数Word下载.docx

当内容为其他字符,不变。

abc25xyzà

fgh0212bcd

11、编写函数:

传递参数为一任意字符,返回它的ASCII码值。

12、编写函数,打印出指定行数的图案。

13、编写求任意数阶乘的的函数,利用该函数求1!

+2!

+….+20!

之和。

14、编写判断某个数是否为素数的函数。

(只可以被1各它本身整除的数为素数)

15、利用14题的函数,统计出1000以内共有多少个素数。

递归练习:

16、利用递归计算1+2+……+100。

17、编写计算m的n次方的递归函数。

18、用递归方法求N阶勒让德多项式的值,递归公式为

19、编写递归函数计算连续自然数a-b之和。

20、小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.第二天早上又将剩下的桃子吃一半,又多吃一个.以后每天早上吃前一天剩下的一半另一个.到第10天早上猴子想再吃时发现,只剩下一个桃子了.问第一天猴子共摘多少个桃子?

21、有雌雄一对兔子,假定过两个月便可繁殖雌雄各一的一对小兔子。

问过n个月后共有多少对兔子?

(菲波拉契(Fibonacci)数列,其第一项为1,第二项为1,从第三项开始,其每一项都是前两项的和。

编程求出该数列前N项数据。

22、输入两个正整数m和n,求其最大公约数和最小公倍数。

提示:

m和n的积除以m

23、 

输入一个数,求这个数的各位数字之和。

24、递归编写将任意10进制数转换为2进制数。

25、角谷定理。

输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。

经过如此有限次运算后,总可以得到自然数值1。

求经过多少次可得到自然数1。

如:

输入22,

输出 

22 

 

11 

34 

17 

52 

26 

13 

40 

20 

10 

16 

1

STEP=16

数组作为函数参数

26、利用数组元素作为参数,编写函数找到数组中的最大值,并指出最大值的位置。

27、利用数组作为参数,编写函数找到数组中的最大值,并指出最大值的位置。

28、有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。

29、编写冒泡排序及选择排序的函数,并对数组进行排序。

30、编一个程序,读入具有5个元素的整型数组,然后调用一个函数,递归计算这些元素的积。

31、编一个程序,读入具有5个元素的实型数组,然后调用一个函数,递归地找出其中的最大元素,并指出它位置。

32、编写函数对二维数组按照指定的行或列排序。

(如下图按照0列排序,对应行数据也发生移位)

33、编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。

请填空完成上述功能的程序。

34、m个人的成绩存放在score数组中,请编写函数fun,它的功能是:

将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指定的函数中。

35、请编写函数fun,它的功能是:

求出1到1000之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在一个数组中,通过n返回这些数的个数。

36、请编写一个函数统计在某字符串中"

a"

到"

z"

26个字母各自出现的次数,并将结果放在一个数组中,主函数中输出结果。

37、利用14题的函数,请再编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是:

将大于整数m且紧靠m的k个素数存入xx所指的数组中。

38、编写函数,删除一个字符串中指定的字符,并将删除后的结果存入另一个字符串中,返回删除字符的个数。

函数综合练习:

39、编写函数fun,功能是:

根据以下公式计算s,计算结果作为函数值返回;

n通过形参传入。

S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)

40、递归输出杨辉三角

main(){

inti,j,n;

clrscr();

printf("

Inputn="

);

scanf("

%d"

&

n);

for(i=1;

i<

=n;

i++)

{for(j=0;

j<

=n-i;

j++)

printf("

"

/*为了保持三角形态,此处输出两个空格*/

for(j=1;

=i;

%3d"

c(i,j));

\n"

}

intc(intx,inty)

{intz;

if(y==1||y==x)return1;

else

{z=c(x-1,y-1)+c(x-1,y);

returnz;

}

41、

参考答案

第16题:

intmain(void)

{

intadd(intn);

ints=0;

s=add(36);

s);

getch();

return0;

intadd(intn)

ints;

if(n==1)

s=1;

else

s=add(n-1)+n;

returns;

第20题:

s=tao(10);

inttao(intn)

return1;

return(tao(n-1)+1)*2;

第22题:

ints,m,n;

scanf("

m);

if(m<

n)

{

s=m;

m=n;

n=s;

s=gong(m,n);

/*M>

N*/

intgong(intm,intn)

if(n==0)

returnm;

returngong(n,m%n);

第23题:

add_every_num(intnum)

{

if(num<

10)returnnum;

returnnum%10+add_every_num(num/10);

第24题:

intn;

intten2two(intn);

ten2two(n);

intten2two(n)

intx;

x=1;

x=n%2;

ten2two(n/2);

x);

第25题:

intn,s=0;

intjiaogu(intn,ints);

jiaogu(n,s);

intjiaogu(n,s)

intx=n;

s++;

%d\nstep=%d"

x,s);

%d"

if(n%2==0)

x=n/2;

jiaogu(x,++s);

x=n*3+1;

第30题:

#include"

stdlib.h"

intmain()

intji(inta[],ints);

inta[5],s,i;

randomize();

for(i=0;

5;

a[i]=random(5)+1;

a[i]);

s=ji(a,4);

\n%d"

intji(inta[],intn)

s=a[0];

s=ji(a,n-1)*a[n];

第31题

(一)在数组中利用a[0]保存最大数的位置

Stdio.h"

Conio.h"

voidmain()

voidmmax(inta[],intn);

inta[6],i;

for(i=1;

i<

=5;

i++)

a[i]=random(100);

a[0]=1;

mmax(a,5);

\n%d%d"

a[a[0]],a[0]);

voidmmax(inta[],intn)

if(n<

=0)

return;

if(a[n]>

a[a[0]])

a[0]=n;

mmax(a,n-1);

(二)利用全局变量保存最大值的位置,函数有返回值。

intx;

intmmax(inta[],intn);

inta[5],n,i;

n=mmax(a,4);

n,x);

intmmax(inta[],intn)

if(mmax(a,n-1)>

a[n])

x=n-1;

s=mmax(a,n-1);

x=n;

s=a[n];

第32题(还未改为函数)

/*二维数组按任意行或列排序*/

main()

inta[10][10],i,j,k,t,n,m;

inputm(row-0,col-1):

"

inputn(0-9):

10;

for(j=0;

a[i][j]=random(100);

%3d"

a[i][j]);

if(m==1)

9-i;

if(a[j][n]>

a[j+1][n])

for(k=0;

k<

k++)

t=a[j][k];

a[j][k]=a[j+1][k];

a[j+1][k]=t;

if(a[n][j]>

a[n][j+1])

t=a[k][j];

a[k][j]=a[k][j+1];

a[k][j+1]=t;

第36题:

charchr[100];

intcou[26]={0},i;

gets(chr);

count(chr,cou);

26;

%c=>

%d\t"

i+'

A'

cou[i]);

count(chara[],intb[])

inti=0;

while(a[i]!

='

\0'

if(a[i]>

a'

&

a[i]<

z'

b[a[i]-'

]++;

elseif(a[i]>

Z'

i++;

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

当前位置:首页 > 医药卫生 > 中医中药

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

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