1、不是直接输入n!,需要一定的算法才可以实现。具体方法是,首先打开编辑器,准备好空白的C语言文件:
2、在编辑器中输入代码,这里所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n。C语言中可利用循环解决,可以假设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum,最后输出sum的值就可以了:
3、在编辑器中运行程序,随意输入一个数,按下回车键,即可打印出阶乘的结果来:
其实这个只能算到12的阶乘,因为13的阶乘等于6227020800,它已经大于2的31次方了,也就是超过了int所能表示的最大值了(溢出),所以你可以把int改为double.
#include
<stdio.h>
#include
<stdlib.h>
double
f(int
n)
{
if(n==0||n==1)
return
1
return
n*f(n-1)
}
int
main()
{
int
n,k,i
printf("请输入一个数:")
scanf("%d",&k)
for(i=1i<=ki++)
{
printf("第%d个数为:",i)
scanf("%d",&n)
printf("%d!=%f\n",n,f(n))
}
}
我把你写的稍微改了一下,你看看。