C语言任意输入一个数组,大于平均数的放入新数组中
时间: 2024-04-08 20:33:48 浏览: 7
好的,我可以帮你解决这个问题。
你可以按照以下步骤来实现:
1. 首先,声明两个数组:原始数组和新数组。假设原始数组为 `arr`,新数组为 `newArr`。
2. 让用户输入数组的大小,并根据输入的大小动态分配内存空间。
3. 使用循环将用户输入的元素存储到原始数组中。
4. 计算原始数组中所有元素的平均值。可以通过遍历原始数组,将所有元素相加并除以数组的大小来实现。
5. 使用循环遍历原始数组,将大于平均值的元素添加到新数组中。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr, *newArr;
int size, sum = 0, count = 0;
float average;
printf("请输入数组的大小:");
scanf("%d", &size);
arr = (int*)malloc(size * sizeof(int));
newArr = (int*)malloc(size * sizeof(int));
printf("请输入数组的元素:");
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
average = (float)sum / size;
for (int i = 0; i < size; i++) {
if (arr[i] > average) {
newArr[count] = arr[i];
count++;
}
}
printf("大于平均值的元素有:");
for (int i = 0; i < count; i++) {
printf("%d ", newArr[i]);
}
free(arr);
free(newArr);
return 0;
}
```
希望这可以帮到你!如果有任何问题,请随时问我。