c++利用指针求三个数最大值和最小值和平均值
时间: 2024-05-22 11:12:18 浏览: 117
#include <stdio.h>
void findMaxMinAvg(int *x, int *y, int *z, int *max, int *min, float *avg);
int main() {
int a, b, c, max, min;
float avg;
printf("请输入三个整数: ");
scanf("%d %d %d", &a, &b, &c);
findMaxMinAvg(&a, &b, &c, &max, &min, &avg);
printf("最大值为: %d\n", max);
printf("最小值为: %d\n", min);
printf("平均值为: %.2f\n", avg);
return 0;
}
void findMaxMinAvg(int *x, int *y, int *z, int *max, int *min, float *avg) {
*max = *x > *y ? (*x > *z ? *x : *z) : (*y > *z ? *y : *z);
*min = *x < *y ? (*x < *z ? *x : *z) : (*y < *z ? *y : *z);
*avg = (*x + *y + *z) / 3.0;
}
相关问题
c++利用指针求数组最大值 最小值平均值以及高于平均值的数值的个数
好的,以下是用指针求解的C++代码示例:
```c++
#include <iostream>
using namespace std;
int main() {
const int arrSize = 10; // 数组大小
int arr[arrSize] = {1, 5, 3, 2, 9, 7, 8, 4, 6, 0}; // 定义并初始化数组
int *p = arr; // 定义指向数组首元素的指针
int max = *p; // 假设首元素是最大值
int min = *p; // 假设首元素是最小值
int sum = 0; // 数组元素总和
// 遍历数组,求最大值、最小值、元素总和
for (int i = 0; i < arrSize; i++) {
if (*(p+i) > max) {
max = *(p+i);
}
if (*(p+i) < min) {
min = *(p+i);
}
sum += *(p+i);
}
double average = static_cast<double>(sum) / arrSize; // 平均值
int count = 0; // 高于平均值的元素个数
// 遍历数组,统计高于平均值的元素个数
for (int i = 0; i < arrSize; i++) {
if (*(p+i) > average) {
count++;
}
}
cout << "最大值为:" << max << endl;
cout << "最小值为:" << min << endl;
cout << "平均值为:" << average << endl;
cout << "高于平均值的元素个数为:" << count << endl;
return 0;
}
```
输出结果为:
```
最大值为:9
最小值为:0
平均值为:4.5
高于平均值的元素个数为:5
```
希望能解决你的问题,如果还有疑问,请随时追问。
c++利用指针求数组最大值 最小值平均值以及高于平均值的数值的个数算法分析
首先,我们可以使用指针遍历数组找到最大值和最小值,同时累加数组元素的总和。遍历完成后,通过数组元素个数求得平均值。
接下来,我们再次遍历数组,统计高于平均值的数值个数即可。
以下是C++代码实现:
```c++
#include<iostream>
using namespace std;
int main() {
int arr[10] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};
int *p = arr;
int max = *p, min = *p, sum = 0;
int count = 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);
}
double ave = sum / 10.0;
for(int i = 0; i < 10; i++) {
if(*(p+i) > ave) count++;
}
cout<<"Max value: "<<max<<endl;
cout<<"Min value: "<<min<<endl;
cout<<"Average value: "<<ave<<endl;
cout<<"Number of values above average: "<<count<<endl;
return 0;
}
```
上述代码中,我们通过指针p来遍历数组,同时利用max、min、sum和count变量分别记录最大值、最小值、总和和高于平均值的数值个数。最后输出结果即可。
阅读全文