#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int j = 0;
int ret = 1;
int sum = 0;
for (i = 1; i <= 10; i++)
{
ret = 1;
for (j = 1; j <= i; j++)
{
ret *= j;
}
sum += ret;
}
printf("%d\n", sum);
system("pause");
return 0;
}
方法2. while循环
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int ret = 1;
int sum = 0;
int i = 1;
while (i <= 10)
{
int j = 1;
ret = 1;
while (j <= i)
{
ret *= j;
j++;
}
sum += ret;
i++;
}
printf("sum=%d\n", sum);
system("pause");
return 0;
}
优化:打印1~n的任意Sn阶乘
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int j = 0;
int n = 0;
int ret = 1;
int sum = 0;
printf("打印几个阶乘:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
ret = 1;
for (j = 1; j <= i; j++)
{
ret = j*ret;
}
sum += ret;
}
printf("sum=%d\n", sum);
system("pause");
return 0;
}