C++求1!到n!的和

题目内容:求1!+2!+3!+4!+……+n!的结果。

输入描述:输入不多于50个正整数的数据n(1<=n<=12)

输出描述:对于每个n,输出计算结果。每个计算结果应单独占一行。

参考代码:

#include "stdafx.h"

#include <fstream>

#include <vector>

#include <iostream>

using namespace std;



int main(int argc,char * argv[])

{

	vector<int> n(50);

	int sum, p, m;

	int num = 0;

	while (num <= 49)

	{

		cin >>m;

		if (m>= 1 && m<= 12)

		{

			n[num] = m;

			num++;

		}		

		else if (m<1 || m>12)

		{

			cout << "The input should be more than 1 and less than 12";

		}

		if (cin.get()=='\n')

		{

			break;

		}

	}		

	for (int j = 0; j < num; j++)

	{

		sum = 0;

		p = 1;

		for (int i = 1; i <= n[j]; i++)

		{

			p = p*i;

			sum = sum + p;			

		}

		cout << sum << endl;

	}	

	return 0;

}

结果如图:

C++求1!到n!的和

你可能感兴趣的:(C++)