用C++编写程序,计算 1!+2!+3!+……+N! .要求:编写一个子函数计算阶乘

这是我写的代码:#include"stdafx.h"#include<iostream>usingnamespacestd;intmain(intargc,char*ar... 这是我写的代码:
#include "stdafx.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
int N,i, sum=0;
int f(int i)

{int t=1,j;
for(j=1;j<=i;j++)
t=t*j;
return t;
}

cout<<"输入N:";
cin>>N;
for(i=1;i<=N;i++)
sum=sum+f(i);
cout<<"sum="<<sum<<endl;
return 0;
}

求纠错,或代码
展开
 我来答
J星愿
2013-01-01 · 超过27用户采纳过TA的回答
知道答主
回答量:291
采纳率:0%
帮助的人:82.1万
展开全部
#include <iostream>
using namespace std;
int f(int i)
{int t=1,j;
for(j=1;j<=i;j++)
t=t*j;
return t;
}
int main(int argc, char* argv[])
{
int N,i, sum=0;
cout<<"输入N:";
cin>>N;
for(i=1;i<=N;i++)
sum=sum+f(i);
cout<<"sum="<<sum<<endl;
return 0;
}
把f函数放main外面就ok了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shuai265
2013-01-01 · TA获得超过117个赞
知道答主
回答量:99
采纳率:0%
帮助的人:46.8万
展开全部
你把函数f放在外面试试,下面是c的:
#include"stdio.h"
int f(int i)
{int t=1,j;
for(j=1;j<=i;j++)
t=t*j;
return t;
}
int main(int argc, char* argv[])
{
int N,i, sum=0;
printf("输入N:");
scanf("N",&N);
for(i=1;i<=N;i++)
sum=sum+f(i);
printf("sum=%d/n",sum);
return 0;
}
改一下就好了,应该是定义变量的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4323b7e40
2013-01-01 · TA获得超过591个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:162万
展开全部
#include <iostream>
using namespace std;
int f(int i)
{
int t=1,j;
for(j=1;j<=i;j++)
t=t*j;
return t;
}
int main(int argc, char* argv[])
{
int N,i, sum=0;

cout<<"输入N:";
cin>>N;
for(i=1;i<=N;i++)
sum=sum+f(i);
cout<<"sum="<<sum<<endl;
return 0;
}

函数不能嵌套定义。所以int f(int i) 函数需要放在主函数外面。修改后的代码可以正确运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈绿豆
2013-01-01
知道答主
回答量:37
采纳率:0%
帮助的人:16.3万
展开全部
cout<<"阶乘求和部分:"<<endl;
int N,j,sum=0;
cin>>N;
cout<<"1!+";
for(int i=1;i<=N;i++)
{
int constant=1;
for(j=1;j<=N;j++)
constant=constant*j;
if(j!=1)
cout<<"+"<<i<<"!";
sum=sum+constant;
}
cout<<"="<<sum<<endl;
这是关键代码,你自己加上变量就可以用了,这是我以前的作业
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iaudryhepburn
2013-01-01 · TA获得超过220个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:217万
展开全部
#include <iostream>
int factorial(int n)
{
if(n==0)
return 1;
else
return n*factorial(n-1);
}

int _tmain(int argc, _TCHAR* argv[])
{
int n=0,sum=0;
std::cout<<"please input N: ";
std::cin>>n;
for(int i=1;i<=n;i++)
sum+=factorial(i);
std::cout<<"the factorial is: "<<sum<<std::endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式