並不難的一條題目
**就幾個點要注意:
1. 計算數字的長度時 要記得可能有負數 對負數要特殊處理
2. 對於這種不是很難 操作卻略繁瑣的題目 要先將每一步在草稿紙上分析好 再寫 以便保持思路的清晰(特別是我這種思維混亂的人)**
//P1957 口算練習題
//2016.11.13
#include <cstdio>
#include <iostream>
#include <stdio.h>
#include <algorithm>
#define MAXN 10000 + 2
using namespace std;
int n, a, b, c, len;
char d;
string t;
int length(int x){
int len = 0, t = 1;
if (x < 0) len++, x = -x;
for (int i = 1; ;i++){
t = t * 10;
if (x < t) return i + len;
}
}
int main(){
cin >> n;
for (int i = 0; i < n; i++){
int j = 1;
a = b = 0;
cin >> t;
if (t == "a") d = '+', j--;
else if (t == "b") d = '-', j--;
else if (t == "c") d = '*', j--;
else
for (int j = 0; j < t.size(); j++)
a = a * 10 + t[j] - '0';
if (j) cin >> b;
if (!j) cin>> a >> b;
if (d == '+') c = a + b;
if (d == '-') c = a - b;
if (d == '*') c = a * b;
len = 2;
len = length(a) + length(b) + length(c) + len;
cout << a << d << b << "=" << c << endl;
cout << len << endl;
}
return 0;
}