求一个整型数组a[10]中所有元素的最大值、最小值及平均值,再输出。(用指针完成)
时间: 2024-02-05 22:11:02 浏览: 46
以下是用指针完成的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10] = {2, 4, 6, 8, 1, 3, 5, 7, 9, 0};
int *p = a;
int max = *p, min = *p, sum = 0;
for (int i = 0; i < 10; i++) {
if (*(p+i) > max) {
max = *(p+i);
}
if (*(p+i) < min) {
min = *(p+i);
}
sum += *(p+i);
}
cout << "最大值:" << max << endl;
cout << "最小值:" << min << endl;
cout << "平均值:" << static_cast<double>(sum) / 10 << endl;
return 0;
}
```
首先定义了一个整型数组a,然后定义了一个指向a的指针p。接下来,使用p来遍历整个数组,同时求出最大值、最小值和总和,最后输出结果。注意,要将sum强制转换为double类型,以便得到正确的平均值。
相关问题
使用指针作为函数参数来设计一个能找出包含20元素的整型数组中的最大值最小值,并且计算所有元素的平均值的函数
### 回答1:
可以回答这个问题。可以使用指针作为函数参数,定义一个函数来找出包含20元素的整型数组中的最大值、最小值和计算所有元素的平均值。函数的定义如下:
void findMinMaxAvg(int *arr, int size, int *max, int *min, float *avg) {
int i;
*max = *min = *arr;
*avg = ;
for (i = ; i < size; i++) {
if (*(arr + i) > *max) {
*max = *(arr + i);
}
if (*(arr + i) < *min) {
*min = *(arr + i);
}
*avg += *(arr + i);
}
*avg /= size;
}
在主函数中,可以定义一个包含20元素的整型数组,然后调用这个函数来找出最大值、最小值和平均值,代码如下:
int main() {
int arr[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
int max, min;
float avg;
findMinMaxAvg(arr, 20, &max, &min, &avg);
printf("Max value is %d\n", max);
printf("Min value is %d\n", min);
printf("Average value is %.2f\n", avg);
return ;
}
### 回答2:
可以使用指针作为函数参数来设计一个能找出包含20元素的整型数组中的最大值最小值,并计算所有元素的平均值的函数。
首先,定义一个函数,参数为指向整型数组的指针,以及一个指向整型变量的指针用于保存最大值、最小值和平均值。函数的实现如下:
```c
void findMinMaxAvg(int* arr, int* max, int* min, float* avg) {
int sum = 0;
*max = arr[0]; // 假设第一个元素为最大值
*min = arr[0]; // 假设第一个元素为最小值
for (int i = 0; i < 20; i++) {
sum += arr[i]; // 求和
if (arr[i] > *max) {
*max = arr[i]; // 更新最大值
}
if (arr[i] < *min) {
*min = arr[i]; // 更新最小值
}
}
*avg = (float)sum / 20; // 计算平均值
}
```
然后,在主函数中定义一个包含20个元素的整型数组,并调用上述函数来查找最大值、最小值和计算平均值,示例如下:
```c
#include <stdio.h>
int main() {
int arr[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
int max, min;
float avg;
findMinMaxAvg(arr, &max, &min, &avg);
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%f\n", avg);
return 0;
}
```
运行程序,即可得到该数组的最大值、最小值和平均值。
注意:上述示例中的整型数组是使用简单的连续整数初始化的,实际使用时可以根据需求对数组进行自定义初始化。
### 回答3:
可以使用指针作为函数参数来设计一个能找出包含20个元素的整型数组中的最大值、最小值,并且计算所有元素的平均值的函数。
具体实现如下:
```c
#include <stdio.h>
void findMaxMinAvg(int *arr, int size, int *max, int *min, float *avg) {
// 假设arr指向包含20个元素的整型数组
// max存储最大值,min存储最小值,avg存储平均值
*max = *arr; // 假设数组的第一个元素为最大值和最小值
*min = *arr;
int sum = 0; // 用于求和
for (int i = 0; i < size; i++) {
if (*(arr + i) > *max)
*max = *(arr + i); // 更新最大值
if (*(arr + i) < *min)
*min = *(arr + i); // 更新最小值
sum += *(arr + i); // 累加求和
}
*avg = (float)sum / size; // 计算平均值
}
int main() {
int arr[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
int max, min;
float avg;
// 调用函数
findMaxMinAvg(arr, sizeof(arr)/sizeof(int), &max, &min, &avg);
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%f\n", avg);
return 0;
}
```
运行程序将会输出:
```
最大值:20
最小值:1
平均值:10.500000
```
以上函数通过使用指针作为参数,可以在函数内部修改max、min和avg的值,从而得到数组中的最大值、最小值和平均值。
求一个一维数组的最大值,最小值和平均值〔主函数调用并输出〕。用c语言,不要用指针
好的,下面是代码:
```c
#include <stdio.h>
#define SIZE 10
int main()
{
int arr[SIZE] = {5, 3, 8, 9, 1, 2, 7, 4, 6, 0}; // 定义一个一维数组
int max = arr[0], min = arr[0], sum = 0; // 初始化最大值、最小值和总和
// 循环遍历数组,找出最大值、最小值和总和
for (int i = 0; i < SIZE; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
sum += arr[i];
}
// 计算平均值
float avg = sum * 1.0 / SIZE;
// 输出结果
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%.2f\n", avg);
return 0;
}
```
这个程序定义了一个大小为10的一维数组,并且找出了数组中的最大值、最小值和总和,然后计算出平均值并输出。请注意,这个程序没有使用指针。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)