编写程序,从控制台随机输入三个整数,按降序排列输出。要求捕获异常并处理。

 我来答
老男孩KISS
2023-04-03 · ERP及电脑相关知识都可以
老男孩KISS
采纳数:36 获赞数:48

向TA提问 私信TA
展开全部

以下是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() 方法返回异常对象的错误信息。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式