【发布时间】:2011-07-21 18:42:38
【问题描述】:
我需要一个 C 中的递归函数,它检查/比较奇数位置的值(整数)之和,以及偶数位置的值之和大批。还打印(在函数内)更大的总和!
喜欢:
printf("\nThe bigger sum is %d. \n evensum = %d , oddsum = %d \n",bigger, evensum, oddsum);
假设数组有 8 个位置,我们从 main() 用随机值填充它。
这是我目前所拥有的:
#include <stdio.h>
#define N 4
int checksum(int matrix[], int position, int sum1, int sum2);
int main(void)
{
int mat[N];
int i,j;
printf("\nEnter the %d numbers:\n", N);
for(i = 0; i < N; i++)
{
printf("%2d> ",i);
scanf("%d", &mat[i]);
}
checksum(mat, 0, 0, 0);
}
int checksum(int m[], int pos, int s1, int s2){
if(pos<N){
if(pos==0){
s1 = m[pos];
checksum(m, pos+1, s1, s2);
}else{
if(pos%2){
return s1 + checksum(m, pos+1, s1, s2);
}else{
return s2 + checksum(m, pos+1, s1, s2);
}
}
}
}
【问题讨论】:
-
您应该尝试自己编写该程序。如果您有具体问题,请发布您的代码并寻求指导。
-
我试过这个:pastie.org/1706480
-
你要求stackoverflow做你的功课?哇。哇。 -1.
-
哦,不知道什么是递归?我想你是反过来的。该屏幕截图是迭代的。
-
@tyler 那么,谁删除了你的答案?
标签: c function recursion functional-programming