C语言 应用指针编写函数,建立n个整型元素的一维数组,求所有元素的平均值,输出平均值以上的元素。
时间: 2024-02-13 21:02:04 浏览: 90
好的,这是一个比较基础的 C 语言编程问题,使用指针可以使代码更加高效。以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
void aboveAvg(int *array, int n, float avg);
int main()
{
int n, *array, sum = 0;
float avg;
printf("请输入数组元素个数:");
scanf("%d", &n);
// 动态申请数组空间
array = (int *) malloc(n * sizeof(int));
// 输入数组元素并求和
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个元素:", i + 1);
scanf("%d", array + i);
sum += *(array + i);
}
// 求平均值
avg = (float) sum / n;
printf("平均值为:%f\n", avg);
printf("大于平均值的元素为:");
aboveAvg(array, n, avg);
// 释放数组空间
free(array);
return 0;
}
void aboveAvg(int *array, int n, float avg)
{
for (int i = 0; i < n; i++) {
if (*(array + i) > avg) {
printf("%d ", *(array + i));
}
}
printf("\n");
}
```
首先,在 `main` 函数中要使用 `malloc` 动态申请数组空间,输入数组元素并求和,然后根据求和结果计算平均值。
之后,调用 `aboveAvg` 函数,该函数的作用是输出大于平均值的元素。在该函数中,使用一个 for 循环遍历数组元素,如果当前元素大于平均值,则输出该元素。
最后,记得在程序结束前释放数组空间,避免内存泄漏问题。
阅读全文