
3个回答
展开全部
#include "stdio.h"
int fun(int n)
{
if(n==1)
return 1;
else
return n+fun(n-1);
}
int main()
{
int n;
printf("请输入n:");
scanf("%d",&n);
printf("1+2+3+...+n=%d\n",fun(n));
}
更多追问追答
追问
你这个是递推还是递归
追答
这是递归,其实就是递推。
展开全部
#include<stdio.h>
int plus(int);
int main()
{
int n;
scanf("%d",&n);
printf("%d",plus(n));
}
int plus(int n)
{
if(n==1)
return 1;
else
return (n+plus(n-1));
}
int plus(int);
int main()
{
int n;
scanf("%d",&n);
printf("%d",plus(n));
}
int plus(int n)
{
if(n==1)
return 1;
else
return (n+plus(n-1));
}
更多追问追答
追问
你这个是递推还是递归
追答
按规律反复调用函数本身就是递归
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#define N 3
int fun(int a)
{
a++; //如果改为1+3+5+7,则改成a=a+2;
return a;
}
main()
{
int first=1; //第一个数
int last=first; //最后一个数
int i,sum=1;
for(i=0;i<N;i++) //加N次
{
last=fun(last); //递归
sum=sum+last; //求和
}
printf("%d\n",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询