8个回答
展开全部
#include<iostream>
using namespace std;
int main()
{
int n;
long int s=0,t=1;
cout<<"请输入n:"<<endl;
cin>>n;
for(int i=1;i<=n;i++)
{t=t*i;
s=s+t;}
cout<<"1!+2!+3!+4!+……+n!="<<s<<endl;
return 0;
}
扩展资料:
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
推荐于2018-03-15
展开全部
函数嵌套调用:
#include <stdio.h>
long func(int n)
{
if(n == 1|| n == 0)
return 1;
else
return n * func(n-1);
}
int main()
{
int i,n;
long sum;
scanf("%d",&n);
sum = 0;
for(i=1;i<=n;i++)
sum += func(i);
printf("sum = %ld\n",sum);
return 0;
}
#include <stdio.h>
long func(int n)
{
if(n == 1|| n == 0)
return 1;
else
return n * func(n-1);
}
int main()
{
int i,n;
long sum;
scanf("%d",&n);
sum = 0;
for(i=1;i<=n;i++)
sum += func(i);
printf("sum = %ld\n",sum);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <studio.h>
void main()
{
int i, j ,n ;
long int t=1,sum=0;/*t存放每项阶乘值,sum存放累加和*/
print (“input n :”,&n);
scanf (“%d”,&n );
for (i=1;i<=n;i++)
{
t=1;
for(j=1;j<=i;j++) /*求i值*/
t=t*j;
sum=sum+t;
}
printf(“n!=%ld”,sum);
}
void main()
{
int i, j ,n ;
long int t=1,sum=0;/*t存放每项阶乘值,sum存放累加和*/
print (“input n :”,&n);
scanf (“%d”,&n );
for (i=1;i<=n;i++)
{
t=1;
for(j=1;j<=i;j++) /*求i值*/
t=t*j;
sum=sum+t;
}
printf(“n!=%ld”,sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下边是两个递归算法,很好用的:
#include<stdio.h>
int exp(int n){
if(n==1)return 1;
return n*exp(n-1);
}//求阶乘
int sum(int n){
if(n==1)return 1;
return exp(n)+sum(n-1);
}//求阶乘的和
void main(){
int n;
scanf("%d",&n);
printf("所求的和为:%d\n",sum(n));
}
#include<stdio.h>
int exp(int n){
if(n==1)return 1;
return n*exp(n-1);
}//求阶乘
int sum(int n){
if(n==1)return 1;
return exp(n)+sum(n-1);
}//求阶乘的和
void main(){
int n;
scanf("%d",&n);
printf("所求的和为:%d\n",sum(n));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用递归啊,这十个比较基础的题目,上面第二位同学回答很好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询