编写程序,从控制台随机输入三个整数,按降序排列输出。要求捕获异常并处理。
以下是C++代码,实现从控制台随机输入三个整数,按降序排列输出,并且在输入时捕获可能抛出的异常。
cppCopy code#include <iostream>#include <stdexcept> // 异常头文件#include <algorithm> // STL头文件using namespace std;int main() { int a, b, c; try { // 尝试执行输入操作
cout << "请输入三个整数,用空格隔开:" << endl;
cin >> a >> b >> c; if (cin.fail()) { // 如果输入失败,抛出异常
throw runtime_error("输入的不是整数");
}
} catch (runtime_error e) { // 捕获异常并输出错误信息
cerr << "错误:" << e.what() << endl; return -1; // 返回错误代码
} int arr[3] = {a, b, c}; sort(arr, arr + 3, greater<int>()); // 使用STL的sort函数进行降序排序
cout << "排序后的结果为:" << arr[0] << " " << arr[1] << " " << arr[2] << endl; return 0; // 返回正常退出代码}
解释:
try 块尝试执行输入操作,如果输入失败,则抛出 runtime_error 类型的异常。
catch 块捕获 runtime_error 类型的异常,并输出错误信息。
sort(arr, arr + 3, greater<int>()) 对数组进行降序排序。
cerr 是标准错误流,用于输出错误信息。
what() 方法返回异常对象的错误信息。