n的阶乘
C语—言程序n的乘语语#include
int a(int n)
{
int b=1;
if(n>=1)
b=n*a(n-1);
return b;
}
void main()
{
int n,b;
scanf("%d",&n);
b=a(n);
printf("%d\n",b);}
C语语语语言于求N语语语语 乘的几方法
1.用for循:语语
#include
main,,
{
int n,i,x,
printf ("in put a num : ");scanf ("%d",&n);
if (n<0) printf ("data error! \n");
if(n=0) printf ("0!" ,1);else for(i=1;i<=n;i++) x=x*i;
printf ("%d!, %d", n, x);}
2.用:语语语语语
#include
void main,)
{
int fac (int n);
int n, y;
printf ( "in put an interger num:");
sacnf ("%d",&n);
y=fac (n);
printf ("%d!=%d\n",n,y);}
int fac ( int n)
{int f ;
if (n<0)
printf ("data error!");else if(n==1||n==0) f=1;else f=fac(n-1)*n;
return (f);
}
3.用局部量:语语语
用register语量
# include
void main ()
{
long fac (long);
long i, n;
scanf ("%1d", &n);
for (i=1; i<=n; i ++)printf ("%1d!=%1d \n" ,i, fac(i));
}
long fac (long n)
{
register long i,f=1;for (i=1;i<=n;i++)
f = f*i;
return (f);
}
用static语量
# inlcude void main ()
{
int fac (int n);
int i;
int n;
printf ("please in put a num :");
scanf ("%d" ,&n);
if(n<0) printf ("data error! \n");
else if (n==0) printf ("0!,1\n");
else for (i=1;i<=n;i++)printf ("%1d!=%1d\n" , i , fac(i));
}
int fac (int n) {
static int f=1;
f = f*n;
return (f);
}