大数比较大小 使用c++来实现 【题目描述】 输入两个很大的十进制正实数(长度超过 20 位),输出代表数值较大的数。 说明:1)两个数都大于 10000000000000000000; 2)实数包含有小数点的数,一个数里只可能有一个小数点,且不在数的最前或 最后。 【输入格式】 输入两行,每行一个数字。 【输出格式】 数值较大的数。 如果两数相等,则输出“equation”。 如果输入的数不符合数字规则,则输出“error”
时间: 2024-04-16 18:28:00 浏览: 44
以下是使用C++实现的代码来比较两个十进制正实数的大小:
```cpp
#include <iostream>
#include <string>
#include <sstream>
std::string compareNumbers(const std::string& num1, const std::string& num2) {
// 检查输入是否为有效数字
std::istringstream iss1(num1);
std::istringstream iss2(num2);
double n1, n2;
if (!(iss1 >> n1) || !(iss2 >> n2)) {
return "error";
}
// 比较大小
if (n1 == n2) {
return "equation";
} else if (n1 > n2) {
return num1;
} else {
return num2;
}
}
int main() {
// 读取输入
std::string num1, num2;
std::getline(std::cin, num1);
std::getline(std::cin, num2);
// 比较大小
std::string result = compareNumbers(num1, num2);
// 输出结果
std::cout << result << std::endl;
return 0;
}
```
你可以使用该代码来实现你的需求。代码使用了`std::istringstream`来将输入的字符串转换为浮点数,并进行比较。如果输入不符合数字规则,会返回"error"。如果两个数字相等,则返回"equation"。否则,返回较大的数字。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)