[PTA] 习题2-6 求阶乘序列前N项和

本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。

输入格式:

输入在一行中给出一个不超过12的正整数N。

输出格式:

在一行中输出整数结果。

输入样例:

5
结尾无空行

输出样例:

153
结尾无空行

代码:

#include <stdio.h>

int main(int argc, char *argv[]) 
{
	int i,j;
	int num;
	int part = 1;/*必须设置,否则进for之后默认为0
					0乘任何数都是0*/
	int total;
	scanf("%d",&num);
	
	for (i = 1; i <= num; i++) 
	{
		part *= i;
		total += part;
	}
	
	printf("%d",total);
	
}

总结:

part进入for循环之前必须设置为1,否则进for之后默认为0,0乘任何数都是0。