使用C++语言输入m个数,求其最大数、最小数和平均值
时间: 2024-05-14 07:13:55 浏览: 86
以下是使用 C 语言实现输入 m 个数,求其最大数、最小数和平均值的代码:
```c
#include <stdio.h>
int main() {
int m, i, num;
int max, min, sum;
float avg;
printf("请输入数字的个数 m:");
scanf("%d", &m);
printf("请输入这 %d 个数字:", m);
scanf("%d", &num);
max = min = sum = num;
for (i = 2; i <= m; i++) {
scanf("%d", &num);
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
sum += num;
}
avg = (float) sum / m;
printf("最大数为:%d\n", max);
printf("最小数为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
```
运行代码后,程序会要求输入数字的个数 m,然后输入 m 个数字,程序会自动计算出这些数字的最大值、最小值和平均值,并输出到屏幕上。
相关问题
编写一个C++程序,接收从键盘输入的10个整数,用指针求这10个数中的最大数、最小数和平均值
好的,我可以为您编写这个程序。以下是代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int nums[10];
int* ptr = nums;
cout << "请输入10个整数:" << endl;
for(int i=0; i<10; i++) {
cin >> *(ptr+i);
}
int max = *ptr, min = *ptr, sum = 0;
for(int i=0; i<10; i++) {
if(*(ptr+i) > max) {
max = *(ptr+i);
}
if(*(ptr+i) < min) {
min = *(ptr+i);
}
sum += *(ptr+i);
}
cout << "最大数:" << max << endl;
cout << "最小数:" << min << endl;
cout << "平均值:" << (double)sum/10 << endl;
return 0;
}
```
这个程序通过指针来访问数组中的元素,然后求出最大值、最小值和平均值。在输入时,我们使用 `cin` 语句读取键盘输入的值,然后用 `*(ptr+i)` 将值存储到数组中。在计算时,我们使用 `*(ptr+i)` 访问数组中的元素,并使用 `max`、`min` 和 `sum` 变量来记录最大值、最小值和总和。最后,我们输出这些值。
希望这个程序能够帮到您!
编写一个 C++程序,接收从键盘输入的 10 个整数,用指针求这 10 个数中的 最大数、最小数和平均值。例如:输入 10 个数分别是 45 87 95 31 25 85 94 100 78 37。
首先,让我们编写一个简单的 C++ 程序来满足这个需求。我们将创建一个结构体存储这 10 个整数,并使用指针数组来访问它们。然后我们会分别计算最大值、最小值和平均值。
```cpp
#include <iostream>
#include <climits> // 包含 INT_MAX 和 INT_MIN 用于找到最大值和最小值
// 结构体来存储整数和其索引
struct Number {
int value;
int index;
};
int main() {
const int num_of_integers = 10;
Number* numbers = new Number[num_of_integers]; // 动态分配内存
int sum = 0;
for (int i = 0; i < num_of_integers; ++i) {
std::cout << "请输入第 " << (i+1) << " 个数字: ";
std::cin >> numbers[i].value;
numbers[i].index = i;
sum += numbers[i].value;
}
// 找到最大值和最小值
int max_index = 0;
for (int i = 1; i < num_of_integers; ++i) {
if (numbers[i].value > numbers[max_index].value) {
max_index = i;
}
}
int min_index = 0;
for (int i = 1; i < num_of_integers; ++i) {
if (numbers[i].value < numbers[min_index].value) {
min_index = i;
}
}
int maximum = numbers[max_index].value;
int minimum = numbers[min_index].value;
double average = static_cast<double>(sum) / num_of_integers;
std::cout << "最大值: " << maximum << ", 最小值: " << minimum << ", 平均值: " << average << std::endl;
delete[] numbers; // 释放内存
return 0;
}
阅读全文