比大小(C++)

题目描述:

知名数学家田所浩二先生证明了:

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

输出样例:

>
<
>
=
<

提示:

为避免输出超时,请使用cout << "\n"替代cout << endl

解题思路:

采用IPO思路实现功能:

(1)I:

首先输入T;

然后因为循环次数已知,采用for循环输入T组数据;

这里将两个数字视为字符串录入,便于比较

(2)P和O

定义变量index并初始化为1,用于判断退出for循环的方式是否为break;

每输入一组数据,获取字符串长度并进行for循环;

循环遍历比较每一个对应位置上的“数字”,输出“数字”不同时的结果;

循环结束后通过index,以及j与len_A、len_B的大小关系,输出“数字”相同时的结果;

代码如下:

#include <iostream>
#include <string>
using namespace std;
​
int main()
{
    long long num;
    cin >> num;
    if (num < 1 && num > 1000000)
    {
        return 0;
    }
    string A, B;
    for (int i = 0; i < num; i++)
    {
        int index = 1;
        cin >> A >> B;
        int j, len_A = A.size(), len_B = B.size();
        for (j = 0; j < len_A && j < len_B; j++)
        {
            if (A[j] == B[j])
            {
                continue;
            }
            else if (A[j] > B[j])
            {
                cout << ">" << endl;
                index = 0;
                break;
            }
            else if (A[j] < B[j])
            {
                cout << "<" << endl;
                index = 0;
                break;
            }
            else
            {
                ;
            }
        }
        if (index)
        {
            if (j == len_A && j == len_B)
            {
                cout << "=" << endl;
            }
            else if (j == len_A)
            {
                cout << "<" << endl;
            }
            else if (j == len_B)
            {
                cout << ">" << endl;
            }
            else
            {
                ;
            }
        }
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitheredSakura_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值