求1到n的阶乘和(单/双循环)

双重循环
int main()
{
	int n, s = 0;
	do
	{
		scanf("%d", &n);
	} while (n < 1);//输入一个大于等于1的数
	for (int i = 1; i <= n; i++)//循环从1到n
	{
		int f = 1;
		for (int j = 1; j <= i; j++)//每次求出i的结阶乘
			f *= j;
		s += f;
	}
	printf("%d", s);
	return 0;
}
单重循环
//int main()
//{
//	int n, s = 0, i, f = 1;
//	do
//	{
//		scanf("%d", &n);
//	}
//	while (n < 1);
//	for (i = 1; i <= n; i++)
//	{
//		f *= i;
//		s += f;
//	}
//	printf("%d",s);
//	return 0;
//}

你可能感兴趣的:(C语言经典题目,算法,c++,c语言)