如何在c语言编程中动态创建一个包含10个变量的数组,然后计算其平均值,最后只输出那些小于平均值的具体数值?
时间: 2024-10-18 12:21:55 浏览: 31
有一个一维数组内放个学生成绩求平均成绩。-C++语法详解
在C语言中,动态创建数组并计算平均值以及筛选出小于平均值的元素需要几个步骤。首先,你需要使用`malloc()`函数分配内存空间,接着初始化数组并计算平均值,然后遍历数组判断每个元素是否小于平均值,并输出符合条件的元素。
以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
double calculate_average(int* arr, int size) {
double sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
void print_smaller_than_average(int* arr, int size, double avg) {
for (int i = 0; i < size; i++) {
if (arr[i] < avg) {
printf("%d ", arr[i]);
}
}
printf("\n");
}
int main() {
// 动态创建数组
int* dynamic_arr = malloc(10 * sizeof(int));
// 初始化数组
for (int i = 0; i < 10; i++) {
dynamic_arr[i] = rand(); // 使用随机数填充数组
}
// 计算平均值
double avg = calculate_average(dynamic_arr, 10);
// 打印小于平均值的元素
print_smaller_than_average(dynamic_arr, 10, avg);
// 释放内存
free(dynamic_arr);
return 0;
}
```
这个程序首先生成了一个包含10个随机整数的动态数组,然后计算了它们的平均值,找出所有小于平均值的元素并输出。注意,在使用完动态内存后别忘了使用`free()`函数释放它,以避免内存泄漏。
阅读全文