谁能告诉我哪里错了
  • 板块题目总版
  • 楼主Ryan_CPP
  • 当前回复13
  • 已保存回复16
  • 发布时间2024/8/14 17:33
  • 上次更新2024/8/14 20:05:25
查看原帖
谁能告诉我哪里错了
1350662
Ryan_CPP楼主2024/8/14 17:33

题目:

大数比大小
题目描述
输入两个完全由数字字符构成的字符串,输出代表数值较大的数。

说明:两个数都是正整数。

输入格式
输入两行,每行一个字符串(长度不超过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;
}
2024/8/14 17:33
加载中...