#include<stdio.h>
int main()
{
int i=2,t=1;
while(i<=5)
{
t=t*i;
i++;
}
printf("%d\n",t);
return 0;
}

运行结果:

120

要点:求n的阶乘

#include <stdio.h>
int main()
{int i,n;double sum=1;scanf("%d",&n);for(i=2;i<=n;i++)sum=sum*i;printf("%d!=%lf",n,sum);printf("\n");return 0;
}

输入: 5

运行结果:

5!=120.000000

输入:20

运行结果:

20!=2432902008176640000.000000

注意:
① 由于阶乘常常较大,会超出整型甚至是长整型所能表示的范围,因此定义变量时就不能定义为整型,而应该考虑双精度数。

② 实训中定义了一个双精度型的变量,用来存放结果。因此在输出时应注意双精度数的输出格式。