编程:输入n,计算n!
#include<stdio.h>
int main()
{ int i;long n,fact;
printf("请输入n的值:");
scanf("%ld",&n);
if(n=0)
fact=1;
else if(n>0)
i=2,fact=1;
while(i<=n)
{ fact=fact*i;
i=i+1;
}
printf("%ld!=%ld\n",n,fact);
return 0;
}
我觉得0!需要单独提出来,但为什么运行的时候计算为0,并且大于0的阶层无法计算
并且让我不太理解的是对于n为正整数阶层的计算,当n=1的计算是怎么出来的,是直接默认此时fact就为初始赋的值1吗?
如果是这样那我n=0的情况为啥不能这样进行编写
还有哦一般条件下变量的定义是double还是float型没太大的要求是吗?