递归和非递归实现数组求和
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
//定义结构体
typedef struct Array
{
    int data[100];
    int length;
}Array;
//非递归实现
int sum (Array);
//递归实现
int sumRecursive (int[], int);
int main(void)
{
    int i = 0;
    Array array;
    //输入长度
    printf("please enter array.length:\n");
    scanf("%d", &array.length);
    //输入各元素
    for (i = 1; i <= array.length; ++i)
    {
        printf("please enter data[%d]:\n", i);
        scanf("%d", &array.data[i]);
    }
    printf("%d\n", sum(array));
    printf("%d\n", sumRecursive(array.data, array.length));
    return 0;
}
int sum (Array array)
{
    int sum = 0;
    int i = 0;
    for (i = 1; i <= array.length; ++i)
    {
        sum += array.data[i];
    }
    return sum;
}
int sumRecursive (int array[], int length)
{
    if (0 == length)
    {
        return 0;
    }
    else
    {
        return array[length] + sumRecursive(array, length - 1);
    }
}

阅读更多
文章标签: include struct
个人分类: Algorithm
想对作者说点什么? 我来说一句

八皇后递归非递归实现源码

2018年01月03日 2KB 下载

没有更多推荐了,返回首页

不良信息举报

递归和非递归实现数组求和

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭