描述 给定两个大的正整数,输出更小的那个数。 (每个正整数不超过10^{200}10 200 ) 输入 两行,每行一个正整数。(每个大整数不超过200位) 输出 输出更小的那个数 输入样例 1 123456789 987654321 输出样例1 123456789 c++代码
时间: 2024-04-16 11:28:59 浏览: 68
你可以使用以下的C++代码来实现你的需求:
```cpp
#include <iostream>
#include <string>
using namespace std;
string findSmallerNumber(string num1, string num2) {
if (num1.length() < num2.length()) {
return num1;
} else if (num1.length() > num2.length()) {
return num2;
} else {
for (int i = 0; i < num1.length(); i++) {
if (num1[i] < num2[i]) {
return num1;
} else if (num1[i] > num2[i]) {
return num2;
}
}
return num1; // If both numbers are equal
}
}
int main() {
string num1, num2;
cin >> num1 >> num2;
string smallerNumber = findSmallerNumber(num1, num2);
cout << smallerNumber << endl;
return 0;
}
```
这段代码中,我们定义了一个函数 `findSmallerNumber` 来比较两个字符串表示的正整数。首先,我们比较两个数字的长度,如果长度不同,则返回长度较小的数字。如果长度相同,我们逐位比较字符串中的字符,直到找到一个字符使得其中一个数字的对应位较小,然后返回较小的数字。如果两个数字完全相等,则返回任意一个数字。在 `main` 函数中,我们从标准输入读取两个正整数,并调用 `findSmallerNumber` 函数来找到更小的那个数,并将结果输出到标准输出。
阅读全文