如何用C++程序计算一组整数的总和及其平均值?
时间: 2024-10-24 22:06:06 浏览: 21
在C++中,计算一组整数的总和和平均值非常直接,你可以使用数组、向量或者循环结构。这里是一个基本的示例,假设我们有一个包含整数的数组:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50}; // 这里可以替换为你想要计算的整数序列
int sum = 0;
for (const auto& num : numbers) {
sum += num; // 计算总和
}
double average = static_cast<double>(sum) / numbers.size(); // 将整数转换成浮点型以得到准确的平均值
std::cout << "Sum: " << sum << std::endl;
std::cout << "Average: " << average << std::endl;
return 0;
}
```
在这个例子中,我们首先初始化了一个整数向量,然后遍历这个向量,将每个元素加到`sum`上。最后,我们将`sum`除以数字的数量(即向量长度),得到平均值。
如果你想让用户输入一组数字,可以使用`std::cin`来获取用户输入,并动态创建数组或向量。
相关问题
给定一个包含正整数和0(表示输入结束)的数组,数组长度在4到20之间,如何使用c语言(不适用c++)编写程序来:1. 计算数组中所有非零数字的平均值?2. 对于每个非零数字,如果它大于平均值,输出该数与平均值的差;如果不大于或等于平均值,输出0?
在C语言中,你可以按照以下步骤编写程序来实现这两个功能:
1. 定义函数`calculate_average()`来计算非零数字的平均值。首先初始化总和和计数器为0,然后遍历数组,只对非零元素做累加并增加计数。最后返回总和除以计数得到的平均值。
```c
double calculate_average(int arr[], int size) {
double sum = 0;
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] != 0) {
sum += arr[i];
count++;
}
}
return count > 0 ? sum / count : 0; // 防止除以0的情况
}
```
2. 定义另一个函数`process_array()`,在这个函数中先调用上面的`calculate_average()`函数获取平均值,然后遍历数组,根据条件判断是否输出数字和平均值的差或0。
```c
void process_array(int arr[], int size) {
double average = calculate_average(arr, size);
for (int i = 0; i < size; i++) {
if (arr[i] != 0 && arr[i] > average) {
printf("%d - %.2f = %lf\n", arr[i], average, arr[i] - average);
} else {
printf("0\n"); // 如果不大于或等于平均值,则输出0
}
}
}
```
将这两个函数整合在一起,并添加主函数`main()`来接收数组和大小作为输入:
```c
#include <stdio.h>
// ... (上述两个函数定义)
int main() {
int arr[] = {5, 2, 0, 8, 6, 0, 10}; // 示例数组
int size = sizeof(arr) / sizeof(arr[0]);
process_array(arr, size);
return 0;
}
```
编写一个C++程序,提示用户“请输入三个整数”,程序需要统计并输出以下信息: (1)输入的整数的总和 (2)输入的整数的平均值
当然可以。下面是一个简单的C++程序示例,它会提示用户输入三个整数,并计算它们的总和、平均值:
```cpp
#include <iostream>
using namespace std;
int main() {
int num1, num2, num3;
// 提示用户输入三个整数
cout << "请输入第一个整数: ";
cin >> num1;
cout << "请输入第二个整数: ";
cin >> num2;
cout << "请输入第三个整数: ";
cin >> num3;
// 计算总和
int sum = num1 + num2 + num3;
// 计算平均值
double average = static_cast<double>(sum) / 3; // 将整数转换为浮点数以得到精确的平均值
// 输出结果
cout << "输入的三个整数的总和是: " << sum << endl;
cout << "输入的三个整数的平均值是: " << average << endl;
return 0;
}
```
当你运行这个程序,按照提示输入三个数字,它将显示所输入的整数之和以及平均值。
阅读全文