求助(p1957)
  • 板块学术版
  • 楼主Codersky
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/19 17:40
  • 上次更新2024/1/19 20:30:50
查看原帖
求助(p1957)
1239281
Codersky楼主2024/1/19 17:40

来个大佬给看一看吧,题目是p1957,洛谷在线ide测试感觉没什么问题,但是提交就是一个测试点都过不了 代码如下:

#include<iostream>
#include<string>
using namespace std;

int main()
{
    int n;
    cin >> n;
    getchar();
    int i, j;
    char ch;
    if(n == 1){
        string s;
        getline(cin, s);
        int len = s.length();
            ch = s[0];
            int a[2] = {0}, k = 0;
            for (j = 2; j < len; j++) {
                if (s[j] != ' ') a[k] += s[j] - '0';
                else {
                    k++;
                    continue;
                }
                if (j+1 < len && s[j+1] != ' ') a[k] *= 10;
            }
            if (ch == 'a') {
                string str = to_string(a[0]) + "+" + to_string(a[1]) + "=" + to_string(a[0]+a[1]);
                cout << str << "\n" << str.length();
            }
            else if (ch == 'b') {
                string str = to_string(a[0]) + "-" + to_string(a[1]) + "=" + (to_string(a[0]-a[1]));
                cout << str << "\n" << str.length();
            }
            else {
                string str = to_string(a[0]) + "*" + to_string(a[1]) + "=" + (to_string(a[0]*a[1]));
                cout << str << "\n" << str.length();
            }
    }else{ 
    for (i = 0; i < n; i++) {
        string s;
        getline(cin, s);
        int len = s.length();
        if (s[0] >= 'a' && s[0] <= 'c') {
            ch = s[0];
            int a[2] = { 0 }, k = 0;
            for (j = 2; j < len; j++) {
                if (s[j] != ' ') a[k] += s[j] - '0';
                else {
                    k++;
                    continue;
                }
                if (j+1 < len && s[j+1] != ' ') a[k] *= 10;
            }
            if (ch == 'a') {
                string str = to_string(a[0]) + "+" + to_string(a[1]) + "=" + to_string(a[0]+a[1]);
                cout << str << "\n" << str.length();
            }
            else if (ch == 'b') {
                string str = to_string(a[0]) + "-" + to_string(a[1]) + "=" + (to_string(a[0]-a[1]));
                cout << str << "\n" << str.length();
            }
            else {
                string str = to_string(a[0]) + "*" + to_string(a[1]) + "=" + (to_string(a[0]*a[1]));
                cout << str << "\n" << str.length();
            }
        }
        else {
            int a[2] = { 0 }, k = 0;
            for (j = 0; j < len; j++) {
                if (s[j] != ' ') a[k] += s[j] - '0';
                else {
                    k++;
                    continue;
                }
                if (j+1 < len && s[j+1] != ' ') a[k] *= 10;
            }
            if (ch == 'a') {
                string str = to_string(a[0]) + "+" + to_string(a[1]) + "=" + to_string(a[0] + a[1]);
                cout << str << "\n" << str.length();
            }
            else if (ch == 'b') {
                string str = to_string(a[0]) + "-" + to_string(a[1]) + "=" + (to_string(a[0] - a[1]));
                cout << str << "\n" << str.length();
            }
            else {
                string str = to_string(a[0]) + "*" + to_string(a[1]) + "=" + (to_string(a[0] * a[1]));
                cout << str << "\n" << str.length();
            }
        }
        if (i != n-1) cout << "\n";
    }
    }

    return 0;
}

2024/1/19 17:40
加载中...