定义函数mySum(),可以遍历数组每个元素,然后分别将奇数与偶数累加到对应的指针指向的地址中,而主函数中则获取n个元素到数组中,然后调用函数mySum()来计算数组奇数和偶数之和,最后再打印结果即可。
代码如下:
#include <stdio.h>
void mySum(int *p, int len, int *sumOdd, int *sumEven){
int i;
*sumOdd=0; // 奇数之和先初始化为0
*sumEven=0; // 偶数之和先初始化为0
// 遍历数组arr的每个元素的下标,以计算元素的奇数之和与偶数之和
for(i=0;i<len;i++){
if(p[i]%2==0){ // 如果当前整数是偶数,则累加到偶数之和sumEven中
*sumEven+=p[i];
}else{ // 如果当前整数是奇数,则累加到奇数之和sumOdd中
*sumOdd+=p[i];
}
}
}
int main(void){
int n, arr[100],i, sumOdd, sumEven;
scanf("%d",&n); // 从输入获取n的值
// 从输入获取n个整数,存入数组arr中
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
}
// 调用函数mySum(),计算数组的奇数之和与偶数之和
mySum(arr,n,&sumOdd, &sumEven);
// 打印结果
printf("%d %d",sumOdd, sumEven);
return 0;
}
