读取若干个整数,将其中大于平均值的前五个存储到一维数组中用指针完成的C语言程序
时间: 2024-03-19 12:46:08 浏览: 64
好的,以下是一个用指针完成的 C 语言程序,可以实现您所要求的功能:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int i, n, sum = 0, count = 0, arr[MAX_SIZE], *p = arr;
float avg;
// 读取输入整数
printf("请输入若干个整数,以 -1 结束:\n");
for (i = 0; i < MAX_SIZE; i++) {
scanf("%d", p);
if (*p == -1) {
break;
}
sum += *p;
n++;
p++;
}
// 计算平均值
if (n > 0) {
avg = (float)sum / n;
}
else {
printf("None");
return 0;
}
// 将大于平均值的前五个存储到数组中
p = arr;
for (i = 0; i < MAX_SIZE; i++) {
if (*p > avg) {
*(arr + count) = *p;
count++;
}
p++;
if (count == 5) {
break;
}
}
// 输出结果
if (count > 0) {
printf("大于平均值的前五个整数为:\n");
p = arr;
for (i = 0; i < count; i++) {
printf("%d ", *p);
p++;
}
}
else {
printf("None");
}
return 0;
}
```
注意,上述代码中使用了指针来访问数组,可以提高代码的效率。另外,为了简化问题,上述程序只考虑了大于平均值的前五个整数,如果需要考虑更多整数,可以根据需要进行修改。
阅读全文