第 PAGE 1页共 NUMPAGES 2页
华北水院高级语言程序设计(C语言)实验报告(五)
2012--2013学年 第二学期
2012级 专业: 学号: 姓名:
………………………………………………………………………………………………
一、实验题目:函数
二、实验目的:(略)
三、实验内容
1. 程序验证(略)
2.程序设计
1) 编程实现求两个正整数的最大公约数,要求计算最大公约数用函数
fun(int a,int b)实现。
源代码:
#include
int fun(int ,int );
void main()
{
int A,m,n;
printf("Please input two number:");
scanf("%d%d",&m,&n);
A=fun(m,n);
printf("最大公约数=%d\n",A);
}
int fun(int a,int b)
{
int r,t;
if(b>a)
{t=b;b=a;a=t;}
while ((r=a%b)!=0)
{a=b;b=r;}
return (b);
}
运行结果:Please input two number:18 24
最大公约数=6
Press any key to continue
2) 编程实现打印出2~n之间的所有素数,要求判断素数过程用自定义函数实现。
源代码:
#include
int isprime(int m)
{
int i;
for(i=2;i
if(m%i==0)
return 0;
return 1;
}
void main()
{
int i,n;
for(i=2;i<=n;i++)
if(isprime(i))
printf("% d",i);
printf("\n");
} 运行结果:
华北水院高级语言程序设计(C语言)实验报告(五)
2012--2013学年 第二学期
2012级 专业: 学号: 姓名:
………………………………………………………………………………………………
3) 编写函数fun(int t),它的功能是:求斐波那契数列中大于t的最小的一个数,结果由函数返回。其中斐波那契数列f(n)的定义为:
f(1)=1,f(2)=1
f(n)= f(n-1)+ f(n-2)(n>2)
例如:当t=1000时,函数值为:1597。
源代码: 运行结果:
#include
int fun(int t)
{
}
void main()
{ int n;
printf("Input n please:");
scanf("%d",&n);
printf("n = %d, f = %d\n",n, fun(n)) ;
} #include
int fun(int t)
{
int i;
for(i=3;fun(i)==fun(i-1)+fun(i-2);n++)
if(n<=fun(i))
return (fun(i+1));
}
void main()i
{
int n;
printf("Input n please:");
scanf("%d",&n);
printf("n=%d,f=%d\n",n,fun(n));
}