为什么交上去全都WA

P1957 口算练习题

xiaoni0v0 @ 2023-09-28 22:35:31

为什么本地可以过,洛谷云IDE也可以过,交上去全都WA啊。。。之前别人说是getline搞的鬼,现在改成了fgets还是不行

我的代码:

#include <bits/stdc++.h>
using namespace std;

int n, res, num[2], opt_num;
char opt_char, _in[100], _out[100];

int main()
{
    // 输入
    scanf("%d", &n);
    getchar();
    // 处理
    for (int i = 0; i < n; i++)
    {
        fgets(_in, 100, stdin);
        // new opt
        // and input numbers from string (_in and _out)
        if (_in[0] >= 'a')
        {
            opt_num = _in[0] - 'a' + 1;
            sscanf(_in + 2, "%d%d", &num[0], &num[1]);
        }
        else
        {
            sscanf(_in, "%d%d", &num[0], &num[1]);
        }

        // compute result
        switch (opt_num)
        {
        case 1:
            opt_char = '+', res = num[0] + num[1];
            break;
        case 2:
            opt_char = '-', res = num[0] - num[1];
            break;
        case 3:
            opt_char = '*', res = num[0] * num[1];
            break;

        default:
            break;
        }

        // output
        sprintf(_out, "%d%c%d=%d", num[0], opt_char, num[1], res);
        printf("%s\n%d\n", _out, strlen(_out));
    }
    return 0;
}

到底是出了什么问题啊。。。


by sususu_123 @ 2023-10-01 23:34:26

getchar两次,洛谷的换行好像是\r\n,你需要读两次


by xiaoni0v0 @ 2023-10-02 15:42:09

@sususu_123 那为什么洛谷的IDE和洛谷评测还不一样啊。。。太头疼了


by sususu_123 @ 2023-10-02 20:53:37

@xiaoni0v0 这我就不清楚了


|