c++中求阶乘和的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 09:32:40
题中要求:1!+2!+3!+.......+14!+15!
我的程序如下:
#include<iostream.h>
void main()
{
int i,t;
double sum=0,sumx=1;
for(i=1;i<=15;i=i+1)
{
for(t=i;t>0;t=t-1)
{
sumx=sumx*t;
}
sum=sum+sumx;
}
cout<<sum<<endl;
}
为什么得出的结果和计算器上面的不一样?那里错了?最好能在原题上改。类和结构都没学过。就用最简单的循环语句做一下。
为什么sumx在()外面我让它等于1了,为什么没有用?还要在循环中还要在补充一句sumx=1?

#include<iostream.h>
void main()
{
int i,t;
double sum=0,sumx=1;
for(i=1;i<=15;i=i+1)
{
sumx=1;
for(t=1;t<=i;t=t+1)
{
sumx=sumx*t;
}
sum=sum+sumx;
}
cout<<sum<<endl;
}

#include <iostream>

using namespace std;

int main()
{
int n, fac, sum;
for (n = 1, fac = 1, sum = 0; n <= 15; ++n) {
fac *= n;
sum += fac;
}
cout << sum << endl;
system("pause");
return 0;
}

#include<iostream.h>
void main()
{
int i,t;
double sum=0,sumx=1;
for(i=1;i<=15;i=i+1)
{
for(t=i;t>0;t=t-1)
{
sumx=sumx*t;
}
sum=sum+sumx;
sumx=1;//加上这句应该就好了
}
cout<<sum<<endl;
}

外层循环改成:
for(i = 1;i<=15;i++,sumx = 1)

输出的时候改一下:(否则输出的是