c++输入三个高精度数,输出三个其中最大值简单
时间: 2024-03-18 16:39:55 浏览: 82
好的,如果你只需要一个简单的代码实现,可以使用以下代码:
```c++
#include <iostream>
#include <string>
using namespace std;
// 比较两个高精度数的大小,如果a大于等于b,返回true,否则返回false
bool cmp(string a, string b) {
if (a.size() != b.size()) {
return a.size() > b.size();
}
return a >= b;
}
int main() {
// 输入三个高精度数
string s1, s2, s3;
cin >> s1 >> s2 >> s3;
// 比较三个数的大小,输出其中最大值
if (cmp(s1, s2) && cmp(s1, s3)) {
cout << s1 << endl;
} else if (cmp(s2, s1) && cmp(s2, s3)) {
cout << s2 << endl;
} else {
cout << s3 << endl;
}
return 0;
}
```
上面的代码中,我们定义了一个 `cmp` 函数来比较两个高精度数的大小。然后在 `main` 函数中,我们输入三个高精度数,分别与另外两个数比较大小,最终输出其中最大值。
需要注意的是,上面的代码只是一个简单的实现,如果需要处理更大的高精度数,还需要进一步优化算法,比如使用 Karatsuba 算法等高效的乘法算法,以提高运行效率。
阅读全文