求教一道vc++题

来源:百度知道 编辑:UC知道 时间:2024/05/28 01:40:53
怎么算 y=1!+2!+3!+....+n!
(n为整数、y为实数)
用循环语句做

double y;
int n;
cin>>n;
for(int i = 1; i<n; i++){
long x = 1; //加号之间的每项设为x
for(int j = 1; j<i; j++){
x*=j;
}//内层for循环结束时x = i!
y+=x;
}// 把n个x都加完以后所得y就是结果
cout<<y<<endl;

完整答案直接拷贝即可:
#include<iostream.h>
void main()
{
int n;
int y=1;
int sum=0;
cout<<"请求用户输入数据";
cin>>n;
for(int i=1;i<=n;i++)
{

y*=i;
sum+=y;
}
cout<<"sum="<<sum<<endl;
}

#include<iostream.h>
void main(void)
{
int n;
float y=1;
cin>>n;
for(int i=1;i<=n;i++)
y*=i*i;
cout<<y<<endl;
}

http://zhidao.baidu.com/question/71749934.html

就是0吧,!1==0,!2==0,后面都是0,最后赋值也就是0了啊