C语言指针编写函数,建立n个整形元素的一维数组,求所有元素的平均值,输出平均值以上的元素。
时间: 2023-11-22 17:56:17 浏览: 197
可以按照以下步骤编写函数:
1. 定义函数,传入整数n和整形指针arr作为参数。
2. 在函数中使用动态内存分配函数calloc()分配n个整形空间,将返回的指针赋给arr。
3. 循环读入n个整数,将其存储到arr数组中。
4. 计算所有元素的平均值sum,使用for循环遍历数组,累加每个元素的值,然后除以n。
5. 使用for循环遍历数组,输出所有大于平均值的元素。
以下是C语言代码示例:
```c
#include<stdio.h>
#include<stdlib.h>
void above_average(int n, int* arr){
int i, sum = 0;
double average;
for(i = 0; i < n; i++){
scanf("%d", &arr[i]);
sum += arr[i];
}
average = (double)sum / n;
printf("The average is %.2lf\n", average);
printf("Elements above average are: ");
for(i = 0; i < n; i++){
if(arr[i] > average){
printf("%d ", arr[i]);
}
}
}
int main(){
int n, *arr;
printf("Enter the number of elements: ");
scanf("%d", &n);
arr = (int*)calloc(n, sizeof(int));
above_average(n, arr);
free(arr);
return 0;
}
```
注意,在使用完动态分配的空间后,应该使用free()函数释放内存。
阅读全文