哪位大神给看看,我的C++程序哪里出错了,我是求n阶阶乘的和,怎么一运行就,求出来的是n

2025-01-07 19:39:48
推荐回答(5个)
回答1:

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
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<<"和为:"<}

回答2:

#include 
int jiecheng(int N);

int main()
{
     int i,m;
     int sum = 0;
     printf("请输入一个整数:");
     scanf("%d",&m);
     for(i=1;i<=m;i++)
     {

          sum += jiecheng(i);
     }
     printf("%d阶阶乘之和为:%d\n",m,sum);
     return 0;
}

int jiecheng(int N)
{
 if(N==0 || N==1)
  return 1;
 else
  return N*jiecheng(N-1);
}

运行结果如下:

回答3:

看看这里:cout<<"和为:"<

回答4:

你的程序就不多说了,还要好好学习哟 ,把你的程序改了如下:

回答5:

你的程序没问题啊,输入3 输出6 输入4 输出24