用函数实现求sum=1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2

用函数实现求sum=1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+...+n)的值,n的值由键盘输入。
(说明:要求用两个函数实现。sum函数求每对圆括号内的部分和,sumInAll函数求和,sumInAll要求用递归实现。)
初始代码:
#include <stdio.h>
//write your code here
int main()
{
int n;
scanf("%d", &n);
printf("%d", sumInAll(n));
return 0;
}

#include <stdio.h>

int sumInAll(int n){
  int ret=0,sum=0;
  for (int i=1;i<=n;i++){
   sum+=i;ret+=sum;
  }
  return(ret);
}

int main() {
  int n;
  scanf("%d", &n);
  printf("%d", sumInAll(n));
  return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-17
int sumInAll(int n) {
    return (n <= 1) ? 1 : (sum(n) + sumInAll(n-1));
}

int sum(int n) {
    int s = 0;
    for (int i = 1; i <= n; i++) {
        s += i;
    }
    return s;
}

相似回答