题目内容:求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;
}
结果如图: