C语言任意输入一个数组,大于平均数的放入新数组中
时间: 2024-04-08 07:33:42 浏览: 53
C语言用自己输入的数组求平均数
5星 · 资源好评率100%
您好!为了实现您的需求,我可以提供以下示例代码来解决这个问题:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i;
float sum = 0, avg;
printf("请输入数组的大小:");
scanf("%d", &n);
int *arr = (int*) malloc(n * sizeof(int));
printf("请输入数组元素:");
for(i = 0; i < n; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
avg = sum / n;
int *newArr = (int*) malloc(n * sizeof(int));
int count = 0;
for(i = 0; i < n; i++) {
if(arr[i] > avg) {
newArr[count] = arr[i];
count++;
}
}
printf("大于平均数的元素:");
for(i = 0; i < count; i++) {
printf("%d ", newArr[i]);
}
free(arr);
free(newArr);
return 0;
}
```
这段代码首先要求您输入数组的大小,然后输入数组的元素。接下来,它计算数组的平均值,并将大于平均值的元素存储在新数组中。最后,它会打印出新数组中的元素。
请注意,为了避免内存泄漏,我们使用了 `malloc()` 函数动态分配了内存,并在程序结束后使用 `free()` 函数释放了内存。
希望这个代码对您有帮助!如果您还有其他问题,请随时提问。
阅读全文