main()
{inti;
intn;
printf("InputforanumberforN");
scanf("%d",&N);
for(i=1;i<=N;i++)
{n=n*i;
}
printf("%d!=",n);
-------------------------------------
或者這樣改一下
for(i=n;i>=1;i--)
{
n=n*i
------------------------------------
#include<stdio.h>
voidmain()
doublefac(intn);
doubley;
scanf("%d",&n);
y=fac(n);
printf("%d!=%f",n,y);
doublefac(intn)
doublef;
if(n<0)printf("n<0,dataerror!");/*判斷資料的合法性*/
else
if(n==0||n==1)f=1;/*0和1的階乘為1*/
f=fac(n-1)*n;/*函式的遞迴呼叫*/
return(f);
你只要10以內的階乘和把n改成10就可以了
main()
{inti;
intn;
printf("InputforanumberforN");
scanf("%d",&N);
for(i=1;i<=N;i++)
{n=n*i;
}
printf("%d!=",n);
}
-------------------------------------
或者這樣改一下
for(i=n;i>=1;i--)
{
n=n*i
}
------------------------------------
#include<stdio.h>
voidmain()
{
doublefac(intn);
intn;
doubley;
scanf("%d",&n);
y=fac(n);
printf("%d!=%f",n,y);
}
doublefac(intn)
{
doublef;
if(n<0)printf("n<0,dataerror!");/*判斷資料的合法性*/
else
if(n==0||n==1)f=1;/*0和1的階乘為1*/
else
f=fac(n-1)*n;/*函式的遞迴呼叫*/
return(f);
}
你只要10以內的階乘和把n改成10就可以了