64,642
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
static int Accum(int m, int n)
{
// 要考虑m >n,m=n,m<n三种情况。
if (m < n)
return (m + Accum(++m, n)); // 如果m<n,返回“m”加上“m+1到n累加的和”
else if (m > n)
return (m + Accum(--m, n)); // 如果m.n,返回“m”加上“m-1到n累加的和”
else
return n; // 如果m=n,直接返回n,这是递归的关键。
}
int main(int argc, char *argv[])
{
printf("%d\n", Accum(1, 100));
return 0;
}