1,函数递归调用计算阶乘
float fac(int n)
{
float f;
if(n==0||n==1)
{
f=1;
}
else
f=fac(n-1)*n;
return (f);
}
main()
{
int n;
float y;
float fac(int n);
printf("请输入您要计算的数:\n");
scanf("%d",&n);
y=fac(n);
printf("%d!=%f\n",n,y);
}
运行如图所示:
2.函数调用求两个数的最大公约数和最小公倍数。
#include "stdafx.h"
int GCD(int m,int n)
{
int p=0;
while(m%n>0)
{
p=m%n;
m=n;
n=p;
}
return n;
}
int LCM(int m,int n)
{
int p;
p=m*n/GCD(m,n);
return p;
}
int _tmain(int argc, _TCHAR* argv[])
{
int m,n;
printf("请输入第一个数m:\n");
scanf("%d",&m);
printf("请输入第二个数n:\n");
scanf("%d",&n);
printf("最大公约数是:%d,最小公倍数是:%d\n",GCD(m,n),LCM(m,n));
return 0;
}
运行如图所示: