动态创建一个数组,输入10型变量,求平均值,并将小于平均值的所有数输出,用c语言函数
时间: 2024-09-24 11:05:08 浏览: 65
在C语言中,动态创建数组并完成如你所述的操作涉及到内存分配、循环计算平均值以及遍历数组判断元素是否小于平均值。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
double average(int *arr, int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return (double)sum / size;
}
void print_smaller_than_average(int *arr, int size, double avg) {
printf("Numbers smaller than the average are:\n");
for (int i = 0; i < size; i++) {
if (arr[i] < avg) {
printf("%d ", arr[i]);
}
}
printf("\n");
}
int* dynamic_array(int size) {
int *array = (int*)malloc(size * sizeof(int));
if (!array) {
printf("Memory allocation failed.\n");
exit(1);
}
// 你可以在这里获取用户输入并填充数组
// 这里为了简化演示,假设我们已经有了数组
// 想要实际操作,你需要加上循环和用户输入的部分
for (int i = 0; i < size; i++) {
array[i] = 10; // 示例数据,每个元素都是10
}
return array;
}
int main() {
int num_elements = 10;
int *input_array = dynamic_array(num_elements);
double avg = average(input_array, num_elements);
print_smaller_than_average(input_array, num_elements, avg);
free(input_array); // 释放动态分配的内存
return 0;
}
```
在这个程序中,`average`函数用于计算平均值,`print_smaller_than_average`函数用于打印小于平均值的数字。`dynamic_array`函数负责动态分配数组并初始化。
注意:此代码仅为示例,实际应用中需要加入用户输入部分来获取10个整数值。
阅读全文
相关推荐

















