c语言实现某集合中有3个整数,分别是:128,78和63,从键盘中输入n(n>=1)个整数追加到该集合中。输出追加后该集合中的所有数据,并求该集合中大于平均值元素的个数。
时间: 2023-11-27 21:55:06 浏览: 57
C语言程序设计-求一组数中大于平均值的数的个数;例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值3
5星 · 资源好评率100%
以下是使用 C 语言实现追加元素并输出集合中所有数据,并求大于平均值元素个数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int arr[] = {128, 78, 63}; // 初始集合
int count = 3; // 初始元素个数
int i, n, sum = 0, above_average = 0;
float average;
printf("请输入要追加的整数个数:");
scanf("%d", &n);
// 动态分配内存
arr = (int*)realloc(arr, (count + n) * sizeof(int));
// 追加元素
for (i = count; i < count + n; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &arr[i]);
}
// 计算平均值和大于平均值元素个数
for (i = 0; i < count + n; i++) {
sum += arr[i];
}
average = (float)sum / (count + n);
for (i = 0; i < count + n; i++) {
if (arr[i] > average) {
above_average++;
}
}
// 输出集合中所有数据
printf("集合中所有数据为:\n");
for (i = 0; i < count + n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 输出大于平均值元素个数
printf("大于平均值元素个数为:%d\n", above_average);
return 0;
}
```
在代码中,我们首先定义了初始集合 `arr` 和初始元素个数 `count`,然后通过 `realloc` 动态分配内存,将新输入的元素追加到集合中。接着,我们使用循环计算出集合中所有元素的和以及平均值,并再次循环计算大于平均值元素的个数。最后,我们使用循环输出集合中所有数据,并输出大于平均值元素的个数。
需要注意的是,由于使用了动态分配内存,因此在程序结束时需要使用 `free` 函数释放内存。
阅读全文