Nhập vào ba xâu a,b,c (là số hết) code c++ In ra xâu lớn nhất (a,b,c <= 10^100)
2 câu trả lời
Gửi bạn code so sánh xâu a với xâu b (do bạn nói bạn tự làm a,b,c) :)))
#include <bits/stdc++.h>
using namespace std;
bool kta(string a)
{
bool kt=false;
for (char i:a)
if (i=='-')
kt=true;
return kt;
}
string ln(string a, string b)
{
string t=a;
for (long long i=0; i<a.size(); i++)
{
if (a[i]>b[i]) {t=a; break;}
else if (b[i]>a[i]) {t=b; break;}
}
return t;
}
string lna(string a, string b)
{
string t=a;
for (long long i=0; i<a.size(); i++)
{
if (a[i]<b[i]) {t=a; break;}
else if (b[i]<a[i]) {t=b; break;}
}
return t;
}
int main()
{
string a,b;
cin >> a >> b;
if (kta(a)==false and kta(b)==false)
{
if (a.size() > b.size()) cout << a;
else if (b.size() > a.size()) cout << b;
else cout << ln(a,b);
}
else if (kta(a)==true and kta(b)==false) cout << b;
else if (kta(a)==false and kta(b)==true) cout << a;
else if (kta(a)==true and kta(b)==true)
{
if (a.size() < b.size()) cout << a;
else if (b.size() < a.size()) cout << b;
else cout << lna(a,b);
}
}
$\color{red}{\text{Daoanhviet96}}$
#include <iostream>
using namespace std;
bool cmp(string a, string b) {
if (a[0] == '-' && b[0] == '-') {
if (a.size() != b.size()) return a.size() > b.size();
return a > b;
}
if (a[0] != '-' && b[0] != '-') {
if (a.size() != b.size()) return a.size() < b.size();
return a < b;
}
return a[0] == '-';
}
string simpl(string a) {
string sign = "";
if (a[0] == '-') sign = '-', a.erase(0, 1);
while (a[0] == '0' && a.size() > 1) a.erase(0, 1);
if (a == "0") return a;
return sign + a;
} // (˵¬‿¬˵)
int main() {
string a, b, c, res;
cin >> a >> b >> c;
a = simpl(a); b = simpl(b); c = simpl(c);
res = a;
if (cmp(res, b)) res = b;
if (cmp(res, c)) res = c;
cout << res;
}