关于C++几个数阶乘的问题:

#include<iostream>usingnamespacestd;intfac(int);intmain(){inti,n,sum=0;cout<<"请输入N值:"... #include<iostream>
using namespace std;
int fac(int);
int main()
{int i,n,sum=0;
cout<<"请输入N值:"<<endl;
cin>>n;
for(i=1;i<=n;i++)
cout<<i<<"!="<<fac(i)<<endl;
sum+=fac(i);
cout<<"sum="<<sum<<endl;
return 0;
}
int fac(int n)
{static int f=1;
f=f*n;
return f;
}
我想要的结果输入N以后,分行显示1!到N!的结果,最后一行显示N项的和SUM,但这个程序不对,sum值不对!请高手提示!!!!
展开
 我来答
dai460973037
2012-02-21
知道答主
回答量:29
采纳率:100%
帮助的人:18.1万
展开全部
int main()
{
int i,n,sum=0,result=0;
cout<<"请输入N值:"<<endl;
cin>>n;
for(i=1; i<=n; i++)
{
result=fac(i);
cout<<i<<"!="<<result<<endl;
sum+=result;
}
cout<<"sum="<<sum<<endl;
return 0;
}
tdlikelei
2012-02-21 · TA获得超过536个赞
知道小有建树答主
回答量:417
采纳率:58%
帮助的人:164万
展开全部
#include<iostream>
using namespace std;
int fac(int);
int main()
{int i,n,sum=0;
cout<<"请输入N值:"<<endl;
cin>>n;
for(i=1;i<=n;i++){//添加
cout<<i<<"!="<<fac(i)<<endl;//1
sum+=fac(i);}//要加}
//如果不加{},for循环只会循环下面的一行,也就是1所注释的地方,在编码的时候一般就算一行
//也要加{}
cout<<"sum="<<sum<<endl;
return 0;
}
int fac(int n)
{static int f=1;
f=f*n;
return f;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式