#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);
}
}
递归和非递归实现数组求和
最新推荐文章于 2021-05-19 08:09:31 发布