先求一个数的阶乘,再求阶乘和,注意阶乘求和中的程序优化

#define _CRT_SECURE_NO_WARNINGS 1 //加在源文件的第一行
#include <stdio.h>
#include <string.h>
//int main()
//{
// int b = 0;
// int i = 0;
// int sum =1;
// printf("请输入一个数\n");
// scanf("%d", &b);
// for (i = 1; i < b+1; i++)
// {
// sum = i * sum;
// printf("%d ", sum);
// }
// return 0;
//}
////求n的阶乘

//求1到10的阶乘和
//int main()
//{
// int i = 0;
// int n = 0;
// int ret = 1;
// int sum = 0;
// for (n = 1; n <= 10; n++)
// {
// ret = 1;//只有这样,才能让每一次的开始ret都为1
// for (i = 1; i <= n ; i++)//n的阶乘
// {
// ret = ret * i;
// }
// sum = sum + ret;
// }
// //printf("请输入一个数字\n");
// //scanf("%d", &n);
//
// printf("sum= %d ", sum);
// return 0;
//}
//优化上述代码
int main()
{
int n = 0;
int ret = 1;
int sum = 0;
for (n = 1; n <= 10; n++)
{
ret = ret * n;//n的阶乘
sum = sum + ret;
}
printf("sum=%d", sum);
return 0;
}