c语言,要求写一个输入5个正整数字,并用递归和的程序怎么弄?

如题所述

// 输入5个正整数,用递归求和
// 2017-04-26
#include "stdio.h"
#include "stdlib.h"

int invert_sum(int data[],int nIndex)
{
    int sum;

    if(nIndex>=0)
    {
        sum=data[nIndex]+invert_sum(data,nIndex-1);
    }
    else  //这是递归的退出条件,此时nIndex=-1
    {
        sum=0;
    }

    //或者这样
    /*
    if(nIndex>0)
    {
        sum=data[nIndex]+invert_sum(data,nIndex-1);
    }
    else  //这是递归的退出条件,此时nIndex=0
    {
        sum=data[nIndex];
    }
    */

    return sum;
}

int main()
{
    int data[5];
    int sum;
    int i;

    printf("输入5个正整数:");
    for(i=0;i<5;i++)
    {
        scanf("%d",&data[i]);
    }

    sum=invert_sum(data,4); //求和 从data[4]开始

    printf("5个正整数的和=%d\n",sum);

    return 0;
}

温馨提示:答案为网友推荐,仅供参考