来个大佬给看一看吧,题目是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;
}