每天搞两道题,加油!
/*******************************************/
/*4.编一个程序,把一批非零整数中的偶数、奇数的平均值分别计算出来。用零作为终止标记。
/*******************************************/
[Asm] 纯文本查看 复制代码 #include<stdio.h>
#include<stdlib.h>
void main2e() {//方法一
int arr[12] = { 1,2,3,4,5,6,7,8,9,10,0,5};
int odd = 0, even = 0, osum = 0, esum = 0;
int num = -1;
while (arr[++num]) {
if (arr[num] % 2 == 0) {
even++;
esum += arr[num];
}
else {
odd++;
osum += arr[num];
}
}
printf("偶数的平均=%d,奇数的平均=%d",esum/even,osum/odd);
getchar();
}
//方式二:递归
int odd = 0, even = 0, osum = 0, esum = 0;
void digui2(int * arr,int num) {
if (arr[num]) {
}
else {
if (arr[num] % 2 == 0) {
even++;
esum += arr[num];
}
else {
odd++;
osum += arr[num];
}
digui2(arr, num+1);
}
}
void main() {
int arr[12] = { 1,2,3,4,5,6,7,8,9,10,0,5 };
digui2(arr, 0);
printf("偶数的平均=%d,奇数的平均=%d", esum / even, osum / odd);
getchar();
} |