用指针法求10个整数的数组a中奇数的个数和平均值,以及偶数的个数和平均值
时间: 2023-12-10 09:38:04 浏览: 62
下面是用指针法求解的代码:
```c
#include <stdio.h>
int main()
{
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *p = a; // 定义指向数组a的指针p
int odd_count = 0, even_count = 0; // 奇数个数和偶数个数
int odd_sum = 0, even_sum = 0; // 奇数和偶数的和
double odd_avg = 0, even_avg = 0; // 奇数平均值和偶数平均值
for (int i = 0; i < 10; i++, p++) {
if (*p % 2 == 0) { // 判断是否为偶数
even_count++; // 偶数个数加1
even_sum += *p; // 偶数和加上当前值
} else {
odd_count++; // 奇数个数加1
odd_sum += *p; // 奇数和加上当前值
}
}
// 计算奇数和偶数的平均值
if (odd_count > 0) {
odd_avg = odd_sum * 1.0 / odd_count;
}
if (even_count > 0) {
even_avg = even_sum * 1.0 / even_count;
}
// 输出结果
printf("奇数个数:%d,平均值:%.2f\n", odd_count, odd_avg);
printf("偶数个数:%d,平均值:%.2f\n", even_count, even_avg);
return 0;
}
```
输出结果为:
```
奇数个数:5,平均值:3.00
偶数个数:5,平均值:6.00
```