编写函数,计算给定的整型数组的奇数元素值之和、偶数元素值之和。
例如数组元素的值依次为: 1 , 8 , 2 , 3 , 11 , 6 ;则奇数值之和 15 、偶数值之和 16 。
函数原型: void findsum( int *pa , int n, int *podd, int *peven ) 。
参数说明: pa 是整型数组的首地址, n 是数组元素个数(元素个数不大于100),指针 podd 、 peven 保存奇数之和、偶数之和的整型变量的地址。
返回值:无返回值。
直接贴出预设代码和自己写的函数
/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */
#include <stdio.h>
void findsum( int *pa, int n, int *podd, int *peven );
main( )
{
int i, n, a[100], odd, even;
scanf( "%d",&n );
for( i=0; i<n; i++ )
scanf("%d",&a[i] );
findsum( a, n, &odd, &even );
printf("odd=%d,even=%d\n", odd, even );
}
/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
void findsum( int *pa, int n, int *podd, int *peven )
{
int i=0,j;
*podd = *peven = 0;
while(i<n)
{
j = pa[i++];
if(j%2==0) *peven += j;
else *podd += j;
}
}
递归很重要的一点就是递推公式以及终止条件的选取.