关于c++的小问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:31:58
用递归函数完成以下运算:
sum(n)=1+2+3+…+n
函数的原型如下:
int sum(int n);
该函数完成1+2+3+…n的运算,并返回运算结果,其中n>0
提示:你可以使用递归表达式:sun(n)=n+sum(n-1)
谢谢
可以把完整的程序写一下么?

#include <stdio.h>

int sum(int n)
{
return (n<=1)?n:n+sum(n-1);
}

int main()
{
printf("sum: %d\r\n",sum(100));
return 0;
}

楼上兄弟的实现,如果输入负数就不行了~

int sum(int n)
{
if (1==n) return 1;
return n + sum(n - 1);
}

#include <iostream.h>//vc6.0下运行
int sum(int);
int main(viod)
{
int n,result;
cin>>n;
result=sum(n);
return 0;
}
int sum(int n)
{
if (n==1)
return 1;
else
return sum(n-1)+n;
}