输入一个正整数n,求出1到n的阶乘
// 求n!的阶乘 1*2*3*4*5......*n;
#include<stdio.h>
int main(void)
{
int n;
int fun(int n);//声名一个函数,函数要先声明再调用
int funfor(int n);
printf("请输入一个正整数:");
scanf("%d",&n);
printf("%d的阶乘是%d\n",n,fun(n));
printf("%d的阶乘是%d\n",n,funfor(n));
}
//1.使用递归
int fun(int n)
{
if(n == 0){
return 1;
}else{
return fun(n-1)*n;
}
}
//2.使用for循环
int funfor(int n)
{
int s = 1;
for(int i = n;i >= 1;i--)
{
s *=i;
}
return s;
}
运行截图: