C语言用递归求函数的第n项f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)已知:f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)编写递归函数,输入n 值,求f(n).函数原型:int sumn( int n,int *flag )参数 n:输入;参数 flag:测
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 22:18:39
![C语言用递归求函数的第n项f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)已知:f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)编写递归函数,输入n 值,求f(n).函数原型:int sumn( int n,int *flag )参数 n:输入;参数 flag:测](/uploads/image/z/2634021-45-1.jpg?t=C%E8%AF%AD%E8%A8%80%E7%94%A8%E9%80%92%E5%BD%92%E6%B1%82%E5%87%BD%E6%95%B0%E7%9A%84%E7%AC%ACn%E9%A1%B9f%28n%29+%3D+1%C3%972+%2B+2%C3%973+%2B+3%C3%974+%2B+%E2%80%A6%E2%80%A6+%2B+n%C3%97%28n%2B1%29%E5%B7%B2%E7%9F%A5%EF%BC%9Af%28n%29+%3D+1%C3%972+%2B+2%C3%973+%2B+3%C3%974+%2B+%E2%80%A6%E2%80%A6+%2B+n%C3%97%28n%2B1%29%E7%BC%96%E5%86%99%E9%80%92%E5%BD%92%E5%87%BD%E6%95%B0%2C%E8%BE%93%E5%85%A5n+%E5%80%BC%2C%E6%B1%82f%28n%29.%E5%87%BD%E6%95%B0%E5%8E%9F%E5%9E%8B%EF%BC%9Aint+sumn%28+int+n%2Cint+%2Aflag+%29%E5%8F%82%E6%95%B0+n%3A%E8%BE%93%E5%85%A5%EF%BC%9B%E5%8F%82%E6%95%B0+flag%EF%BC%9A%E6%B5%8B)
C语言用递归求函数的第n项f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)已知:f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)编写递归函数,输入n 值,求f(n).函数原型:int sumn( int n,int *flag )参数 n:输入;参数 flag:测
C语言用递归求函数的第n项f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)
已知:
f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)
编写递归函数,输入n
值,求f(n).
函数原型:
int
sumn( int n,int *flag )
参数
n:输入;参数 flag:测试编写是函数是否为递归.在自己编写的sumn函数中,写入以下语句:
(
*flag )++;
测试用例1:测试输入 3 期待的输出 20
测试用例 2:测试输入 0 期待的输出 Bad Input.
C语言用递归求函数的第n项f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)已知:f(n) = 1×2 + 2×3 + 3×4 + …… + n×(n+1)编写递归函数,输入n 值,求f(n).函数原型:int sumn( int n,int *flag )参数 n:输入;参数 flag:测
#include <stdio.h>
int sumn(int n,int *flag)
{
(*flag)++;
if(n==1)
return n*(n+1);
else
return n*(n+1)+sumn(n-1,flag);
}
int main()
{
int count=0,result;
int n=0;
scanf("%d",&n);
if(n>0)
{
result=sumn(n,&count);
printf("%d\n",result);
}
else
{
printf("Bad Input.\n");
}
return 0;
}
count作为一个递归的测试值,传入调用函数,最终输出的值和n是一样的