知名数学家田所浩二先生证明了:
9>10
证明:写下两个数的十进制表示:
9.
10
观察这两个数字从前到后第一个不相同的数字,由于9>1,因此9>10。
用同样的方法,我们可以很容易地证明1919>114514:
1919..
114514
或者是999>99:
99.
999
现在,请你给田所浩二先生写一个程序,用来比较两个输入的数字。
输入格式:
第一行一个整数T(1≤T≤106) ,表示有T组数据
接下来T行,每行两个整数a,b(1≤a,b≤109)
输出格式:
输出总共T行,对于第i行:
如果"a>b",则输出:>
如果"a=b",则输出:=
如果"a<b",则输出:<
输入样例:
5
9 10
114514 1919
999 99
131 131
1314 520
输出样例:
>
<
>
=
<
解决方法:
#include <bits/stdc++.h> //包含万能头文件
using namespace std;
int main()
{
double T;
string a, b; //将数字以字符形式存储
int j = 0;
cin >> T;
if (T >= 1 && T <= 1e6) //规定条件
{
for (int i = 0;i < T;i++)
{
cin >> a >> b;
j = 0;
if (a == b) //判断是否相等
{
cout << "=" << endl;
continue;
}
while (a[j] != '\n' && b[j] != '\n') //逐个判断大小
{
if (a[j] > b[j])
{
cout << ">" << endl;
break;
}
else if (a[j] < b[j])
{
cout << "<" << endl;
break;
}
j++;
}
}
}
return 0;
}
这题主要是考逐个比较每一位数字大小,可以将数字存储在数组中来完成~