在主程序中提示输入整数n,编写函数,用递归的方法求1+2+....+10 C++

如题所述

第1个回答  推荐于2018-03-10
#include<iostream> //包含必要的头文件
using namespace std; //名字空间
int Sum(int n) //定义递归函数
{
int sum;
if(n==0 || n==1) //判断输入的数
return n;
else if(n>1)
sum=n+Sum(n-1); //递归最重要的一步,调用函数本身
return sum; //返回计算得到的值
}
int main()
{
cout<<"请输入一个整数n:"<<endl;
int S=0,N; //定义变量,S代表和,N代表输入的整数
cin>>N;
S=Sum(N); //调用函数
cout<<S<<"就是您所要求的结果!"<<endl; //输出结果
system("pause"); //不让对话框一闪而过的语句
return 0;
}

这个可以运行的,我用gev试了一下,可以运行,希望能帮到你
第2个回答  2012-04-03
#include <iostream>
using namespace std;

int sumfun(int a)
{

if(a==1)
{return 1;}
else return sumfun(a-1)+a;

}

int main()
{
int n;
cout<<"请输入n的值:";
cin>>n;
cout<<"结果为:"<<sumfun(n)<<endl;

return 0;
}
第3个回答  推荐于2016-01-08
#include <iostream>
using namespace std;
int factorial(int n)
{
if(1==n)
return 1;
else
return n*factorial(n-1);
}
int main()
{
int n;
cout<<"Please enter a number:";
cin>>n;
cout<<factorial(n)<<endl;
return 0;
}本回答被提问者和网友采纳
第4个回答  2012-04-03
#include<iostream>
using namespace std;
int adds(int);
int main()
{
cout<<"plase input : ? ";
int n;
cin>>n;
cout<<"the result is : "<<adds(n)<<endl;
return 0;
}
int adds(int n)
{
if(n == 1){
return n;
}
else{
return n + adds(n - 1);
}
}
相似回答