C语言 计算n!(n的乘阶)

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:54:04
帮忙写个的程序

main()
{int i;/*设置循环变量,一般是i*/
long n,s;/*设置数据类型(这里很关键,你也知道n!可以是个很大的数^.^)*/
scanf("%f",&n);/*输入n值*/
for(i=s=1;i<n;i++)/*开始循环,初始化i和s,条件为i<n,一直循环到n,每一次i加1*/
{s=s*i;}/*利用循环,从1一直乘到N*/
printf("n!=%ld",s);/*打印N!*/
}

循环 或是 递归

int sum=1,n;
for(int i(1);i<n;i++)
sum=sum*i;

#include<stdio.h>
void main()
{
long a,b,n;
scanf("%ld",&n);
a=1;
for(b=1;b<=n;b++)
a=a*b;
printf("n!=%ld\n",a);
}

int factorial(int n)
{
if(n>1)
{
return n*factorial(n-1);
}
if(n==1)
return 1;

}

#include "stdio.h"
void main()
{
long s,i,j,n;
printf("Input n:\n");
scanf("%ld",&n);
s=1;
for(i=1;i<=n;i++)
s=s*i;
printf("n!=%ld\n",s);
}