题目:
大数比大小
题目描述
输入两个完全由数字字符构成的字符串,输出代表数值较大的数。
说明:两个数都是正整数。
输入格式
输入两行,每行一个字符串(长度不超过1000)。
输出格式
数值较大的数,若两个数相等,则任意输出其中的一个数。
样例 #1
样例输入 #1
123
111111111
样例输出 #1
111111111
我的代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
string a, b;
//1为a大, 2为b大, 3为相等
int Big(string a, string b)
{
int ansa[1005], ansb[1005], t = 0, asize, bsize;
for(int i = 0; i <= a.size() - 1; i++)
{
ansa[++t] += a[i] - '0';
}
asize = t;
t = 0;
for(int i = 0; i <= b.size() - 1; i++)
{
ansb[++t] += b[i] - '0';
}
bsize = t;
if(asize > bsize)
{
return 1;
}
else if(bsize > asize)
{
return 2;
}
for(int i = 1; i <= asize; i++)
{
if(ansa[i] > ansb[i])
{
return 1;
}
else if(ansb[i] < ansb[i])
{
return 2;
}
}
return 3;
}
int main()
{
cin >> a >> b;
if(Big(a, b) == 1)
{
cout << a;
}
else if(Big(a, b) == 2)
{
cout << b;
}
else
{
cout << a;
}
return 0;
}