C++中使用main( )中输入3个数,通过调用函数,求出3个数的最大值,最小值及平均值,并写出c++代码
时间: 2024-06-06 18:11:23 浏览: 62
以下是 C 代码:
#include <stdio.h>
void getMaxMinAvg(int a, int b, int c, int* max, int* min, float* avg) {
*max = a > b ? (a > c ? a : c) : (b > c ? b : c);
*min = a < b ? (a < c ? a : c) : (b < c ? b : c);
*avg = (a + b + c) / 3.0f;
}
int main() {
int a, b, c, max, min;
float avg;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
getMaxMinAvg(a, b, c, &max, &min, &avg);
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%f\n", avg);
return 0;
}
相关问题
用C++编写程序求出三个整数中的最大值、最小值及平均值,要求三个整数在main函数中输入,最大值、最小值及平均值由函数求出。要求以下三种方式实现主调函数与被调函数之间的数据传递:①值调用;②引用调用;③用全局变量。
值调用方式实现:
```c
#include <stdio.h>
void getMaxMinAvg(int a, int b, int c, int *max, int *min, float *avg);
int main()
{
int a, b, c, max, min;
float avg;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
getMaxMinAvg(a, b, c, &max, &min, &avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
void getMaxMinAvg(int a, int b, int c, int *max, int *min, float *avg)
{
*max = a;
*min = a;
*avg = (a + b + c) / 3.0;
if (b > *max)
{
*max = b;
}
if (c > *max)
{
*max = c;
}
if (b < *min)
{
*min = b;
}
if (c < *min)
{
*min = c;
}
}
```
引用调用方式实现:
```c
#include <stdio.h>
void getMaxMinAvg(int a, int b, int c, int &max, int &min, float &avg);
int main()
{
int a, b, c, max, min;
float avg;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
getMaxMinAvg(a, b, c, max, min, avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
void getMaxMinAvg(int a, int b, int c, int &max, int &min, float &avg)
{
max = a;
min = a;
avg = (a + b + c) / 3.0;
if (b > max)
{
max = b;
}
if (c > max)
{
max = c;
}
if (b < min)
{
min = b;
}
if (c < min)
{
min = c;
}
}
```
全局变量方式实现:
```c
#include <stdio.h>
int a, b, c, max, min;
float avg;
void getMaxMinAvg();
int main()
{
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
getMaxMinAvg();
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
void getMaxMinAvg()
{
max = a;
min = a;
avg = (a + b + c) / 3.0;
if (b > max)
{
max = b;
}
if (c > max)
{
max = c;
}
if (b < min)
{
min = b;
}
if (c < min)
{
min = c;
}
}
```
编写求10个数最大值最小值平均值等函数存放在funfile.h文件中,编写main()函数保存在file.h中函数的调用
以下是funfile.h文件中的函数:
```c++
#ifndef FUNFILE_H
#define FUNFILE_H
void findMaxMinAvg(int arr[], int size, int& max, int& min, double& avg);
#endif
```
以下是funfile.cpp文件中的函数实现:
```c++
#include "funfile.h"
void findMaxMinAvg(int arr[], int size, int& max, int& min, double& avg)
{
max = arr[0];
min = arr[0];
avg = 0;
for (int i = 0; i < size; i++)
{
if (arr[i] > max)
max = arr[i];
if (arr[i] < min)
min = arr[i];
avg += arr[i];
}
avg /= size;
}
```
以下是file.h文件中的main函数调用:
```c++
#include <iostream>
#include "funfile.h"
using namespace std;
int main()
{
const int SIZE = 10;
int arr[SIZE] = { 3, 5, 1, 2, 4, 9, 7, 6, 8, 0 };
int max, min;
double avg;
findMaxMinAvg(arr, SIZE, max, min, avg);
cout << "Max: " << max << endl;
cout << "Min: " << min << endl;
cout << "Avg: " << avg << endl;
return 0;
}
```
阅读全文