编写一段代码,求包含 n 个元素的整数数组中元素的平均值。要求在函数内部使用指针访问数组元素,使用c语言。
时间: 2024-03-23 17:43:15 浏览: 26
可以按照以下方式编写代码来实现:
```c
#include <stdio.h>
double average(int *arr, int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += *(arr + i);
}
return sum / n;
}
int main() {
int arr[] = { 1, 2, 3, 4, 5 };
int n = sizeof(arr) / sizeof(arr[0]);
double avg = average(arr, n);
printf("平均值为: %f\n", avg);
return 0;
}
```
这个程序首先定义了一个 `average` 函数,该函数的实现与上一个问题中的函数相同。然后,在 `main` 函数中,我们定义了一个包含 5 个整数的数组,并计算它们的平均值。最后,我们将平均值打印到屏幕上。注意,我们需要使用 `sizeof` 运算符来计算数组的大小,这样我们就可以将其作为参数传递给 `average` 函数。
相关问题
编写函数,求包含 n 个元素的整数数组中元素的平均值。要求在函数内部使用指针访问数组元素,使用c语言。
可以按照以下方式编写函数来实现:
```c
double average(int *arr, int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += *(arr + i);
}
return sum / n;
}
```
这个函数的第一个参数是一个整数指针,指向整数数组的第一个元素;第二个参数是数组的大小。在函数内部,我们使用指针访问数组元素来计算它们的总和。最后,我们将总和除以数组大小来计算平均值,并将其返回。
应用指针编写函数,建立n个整形元素的一维数组,求所有元素的平均值,输出平均值以上的元素
好的,这个问题很简单,可以用如下的代码来实现:
```c++
#include <iostream>
using namespace std;
void printAboveAverage(int* arr, int n);
int main() {
int n;
cout << "请输入数组的大小:";
cin >> n;
int* arr = new int[n];
int sum = 0;
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个元素:";
cin >> arr[i];
sum += arr[i];
}
double average = (double)sum / n;
cout << "所有元素的平均值为:" << average << endl;
printAboveAverage(arr, n);
delete[] arr;
return 0;
}
void printAboveAverage(int* arr, int n) {
double average = 0;
for (int i = 0; i < n; i++) {
average += arr[i];
}
average /= n;
cout << "平均值以上的元素有:";
for (int i = 0; i < n; i++) {
if (arr[i] > average) {
cout << arr[i] << " ";
}
}
cout << endl;
}
```
在这个代码中,我们用动态内存分配的方式建立了一个大小为 n 的整型数组。然后,我们求出了所有元素的平均值,再遍历一遍数组,输出平均值以上的元素即可。注意,由于我们用了动态内存分配的方式,最后需要用 `delete[]` 来释放内存。