c语言递归求等差数列第n项

用递归思想求某等差数列第n项(键盘输入n的值),其中,等差数列自己设计

1、编写程序之前,首先是了解思路,关于等差数列有 an = a0 + (n -1)*d ,即满足一个等差数列需要知道其首项a0 和 公差 d
2、程序拆分,所谓递归,简单可以理解某n项与n-1项存在一定递归关系,最终满足最小项(即最终条件成立如a0是一个确定的值),程序根据递归关系逐级返回求出最终结果。
3、等差数列n与n-1项存在递归关系: an = an-1 + d;
4、编程:

#include <stdio.h>

#define A0 1 //数列首项
#define D 2 //公差

int fun(int n); //递归函数声明

int main(int argc , char **argc)
{
    int n = 0;
    printf("输入数列项: ");
    scanf("%d",&n);
    printf("数列第 %d 项的值为: %d \n",n ,fun(n));//函数调用
  
    return 0;    
}

int fun(int n)   //函数定义
{
    if( n == 0) //递归的最终条件 ,返回数列首项A0
        return A0;
    int an = fun(n-1) + D; //递归关系 第n项与 第n-1项满足  an = an-1 + d 
    return an;  //递归返回之后,返回an最终结果 ,这里上下两句也可以合并为一行  return fun(n-1) + D;
}