求n的阶乘。
#include <stdio.h>
int i = 0;
int n = 0;
int ret = 1;
int main()
{
scanf("%d" ,&n);
for (i = 1; i <= n; i++)
{
ret = ret*i;
}
printf("%d", ret);
return 0;
}
求变量n的阶乘,,首先输入n的值,定义全局变量i,用于执行for循环的参数,此时需要一个变量,用于存储阶乘的值,所以再定义全局变量ret,将ret与i的乘积赋给ret,当i的值大于n时,跳出循环,输出n的阶乘。
求1到10每个数阶乘的和。
#include <stdio.h>
int i = 0;
int ret = 1;
int sum = 0;
int main()
{
for (i = 1; i <= 10; i++)
{
ret = ret*i;
sum = ret + sum;
}
printf("%d", sum);
return 0;
}
求某个数的阶乘上面已经提到,那么求各个数阶乘的和只需求和即可,定义全局变量sum,并初始化为0(注意此时sum的初始化只能为0,因为初始状态下的和为0),sum会保存上一次的值,并将每个数的阶乘相加,实现程序的要求。