哪位大神给看看,我的C++程序哪里出错了,我是求n阶阶乘的和,怎么一运行就,求出来的是n
阶的阶乘,而不是它的和。unsignedintfun(unsignedintn){unsignedintf;if(n==1)f=1;elsef=fun(n-1)*n;re...
阶的阶乘,而不是它的和。
unsigned int fun(unsigned int n)
{
unsigned int f;
if (n==1)
f=1;
else
f=fun(n-1)*n;
return f;
}
#include<iostream>
using namespace std;
void main()
{
cout<<"请输入你要求的阶乘数:";
unsigned int n,m,sum;
cin >>n;
m=fun(n);
while (n>0)
{ sum+=m;
n--; }
cout<<"和为:"<<m<<endl;
} 展开
unsigned int fun(unsigned int n)
{
unsigned int f;
if (n==1)
f=1;
else
f=fun(n-1)*n;
return f;
}
#include<iostream>
using namespace std;
void main()
{
cout<<"请输入你要求的阶乘数:";
unsigned int n,m,sum;
cin >>n;
m=fun(n);
while (n>0)
{ sum+=m;
n--; }
cout<<"和为:"<<m<<endl;
} 展开
展开全部
unsigned int fun(unsigned int n)
{
unsigned int f;
if (n==1 || n==0) //问题
f=1;
else
f=fun(n-1)*n;
return f;
}
#include<iostream>
using namespace std;
void main()
{
cout<<"请输入你要求的阶乘数:";
unsigned int n,m,sum=0; //问题
cin >>n;
m=fun(n);
while (n>0)
{ sum+=m;
n--;
m=fun(n);//问题
}
cout<<"和为:"<<sum<<endl;//问题
}
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看这里:cout<<"和为:"<<m<<endl;。你输出的是m,而不是和sum!sum要初始化为0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的程序没问题啊,输入3 输出6 输入4 输出24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询