用C++实现:编写一个程序,实现输入一个正整数n,然后输入n个整数,并计算它们的平均值。如果输入的n为0或负数,则输出错误信息并抛出异常;如果输入的整数不足n个,则输出错误信息并抛出异常。
时间: 2024-03-19 14:45:50 浏览: 18
好的,以下是C++实现的代码:
```c++
#include <iostream>
#include <vector>
#include <stdexcept>
using namespace std;
void calculateAverage(int n, vector<int>& nums) {
if (n <= 0) {
throw invalid_argument("n must be a positive integer.");
}
if (nums.size() < n) {
throw invalid_argument("Not enough numbers provided.");
}
int sum = 0;
for (int i = 0; i < n; i++) {
sum += nums[i];
}
double average = static_cast<double>(sum) / n;
cout << "The average of the " << n << " numbers is " << average << endl;
}
int main() {
int n;
cout << "Enter the number of integers: ";
cin >> n;
vector<int> nums(n);
cout << "Enter " << n << " integers:" << endl;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
try {
calculateAverage(n, nums);
}
catch (invalid_argument& e) {
cout << "Error: " << e.what() << endl;
}
return 0;
}
```
这个程序先要求用户输入一个正整数n,然后输入n个整数。接着,程序会检查n是否为正整数,以及输入的整数是否足够n个,如果不符合要求,则会抛出异常。如果输入的都符合要求,程序会计算这n个整数的平均值并输出。