求阶乘函数
#include <stdio.h>
int main()
{
int i=0;
int ret=1;
int n=0;
scanf("%d", &n);
for(i=1; i<=n;i++)
{
ret=ret * i;
}
printf(" ret=%d\n", ret);
return 0;
}
举列子:
求3的阶乘=3*2*1=6
求4的阶乘=4*3*2*1=24
自定义函数求阶乘
#include<stdio.h>
int pac1(int n)
{
int i = 0;
int ret = 1;
for (i = 1; i <= n; i++)
{
ret *= i;
}
return ret;
}
int main()
{
int let = 0;
int n = 0;
printf("请输入要求数的阶乘=");
scanf("%d", &n);
let=pac1(n);
printf("所求的阶乘为=%d\n", let);
return 0;
}
自定义函数求阶乘(***递归思想***)
#include<stdio.h>
int pac2(int n)
{
//后面是无线下去都是一,没有小于号的话后面就求不了
if (n<= 1)
{
return 1;
}
else
return n*pac2(n - 1);
}
int main()
{
int n = 0;
int let = 0;
printf("请输入要求阶乘的数");
scanf("%d", &n);
let = pac2(n);
printf("所求阶乘的结果为=%d\n", let);
return 0;
}
求:1!+2!+3!+.......+(n-1)!+n! 的函数进阶版
#include <stdio.h>
int main()
{
int i=0;
int ret=1;
int n=0;
int sum=0;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
ret=ret * i;
sum=sum+ret;
}
printf("sum=%d\n", sum);
return 0;
}
举列子:
1!+2!+3!=9
1!+2!+3!+4!=33