时间限制 : 1.000 sec 内存限制 : 128 MB
题目描述
编写一个函数mySum,其功能是计算一个数组中的所有奇数之和与偶数之和。
函数原型可参考如下:
void mySum(int *p, int len, int *sumOdd, int *sumEven);
其中,p为指向数组首元素的指针,len为数组中的元素个数,sumOdd为指向所求奇数之和的指针,sumEven为指向所求偶数之和的指针。
如,数组中的原始数据为:1,0,3,4,0,2,5。则函数计算的奇数之和为9,偶数之和为6。
编写程序,从键盘输入一个正整数n(1<=n<=100),代表数据元素个数,接着输入n个整数,代表数组元素的初始值,调用mySum函数处理完毕后,在主函数中输出计算出的奇数之和与偶数之和。输出的两个数据之间用空格分隔。
输入
6 3 10 5 6 9 4
输出
17 20
样例输入
10 4 0 0 1 9 4 9 4 5 10
样例输出
24 22
提示
注意输出顺序,先输出奇数之和,再输出偶数之和。
话不多说,直接上代码
#include <bits/stdc++.h>
using namespace std;
void mySum(int *p, int len, int *sumOdd, int *sumEven);
int main(void){
int a[105];
int i;
int n;
int odd=0,even=0;
scanf("%d",&n);
for(i = 0;i< n;++i){
scanf("%d",&a[i]);
}
mySum(a,n,&odd,&even);
printf("%d %d",even,odd);
}
void mySum(int *p, int len, int *sumOdd, int *sumEven){
int i;
for(i = 0;i < len; ++i){
if(p[i]%2==0){
(*sumOdd)+=p[i];
}
else if(p[i]%2!=0){
(*sumEven)+=p[i];
}
}
return ;
}