#include <stdio.h>
long fact(int n) //递归函数求解阶乘
{
if(n<0)//输入数据检测
{
printf("输入数据n应>=0!\n")
return -1
}
if(n<=1) //0!=1,1!=1
return 1
else
return (n*fact(n-1))//递归调用
}
int main(int argc, char *argv[])
{
printf("10!=%ld\n",fact(10))//打印10!
return 0
}
c语言中,函数Func(Type a,……)直接或间接调用函数自身,则该函数称为递归函数。递归函数必须满足两个条件,
1、每一次调用函数自身都更接近于解;
2、函数 必须有一个明确的终止处理或计算的准则,比如本例中0!=1,1!=1。
#include <stdio.h>
int main()
{
unsigned long i,m=1
for (i=1i<19i++)
{
m*=i
printf ("%lu×%lu=%lu\n",m,i+1,m*(i+1))
}
}
#include "stdio.h"void main()
{int i,t
i=1t=2
for(i <= 5++i){
i=i+1,t=t*i
}
printf("%d",t)
}
累乘的前提你需要是不断的循环,这样才能不断的去增加