#include<iostream>
using namespace std;
char c;
char d;
int a[100] = {}, length;
double x = 0, ooo, mid, sum = 0;
int main()
{
length = 1;
ooo = 1;
c = getchar();
while (c != '=')
{
if (c == '-')
{
length++;
ooo = -1;
}
if (c == '+')</iostream>
{ ooo = 1; length++; } if (c >= '0'&&c <= '9') { if (a[length] == 0) a[length] = (c - '0')*ooo; else a[length] = a[length] * 10 + (c - '0')*ooo; } if (c >= 'a'&&c <= 'z') { d = c; if (a[length] != 0) { x += a[length]; a[length] = 0; } else x += ooo; --length; } c = getchar(); } mid = length; length++; c = getchar(); ooo = 1; while (c != '\n') { if (c == '-') { ooo = -1; length++; } if (c == '+') { ooo = 1; length++; } if (c >= '0'&&c <= '9') { if (a[length] == 0) a[length] = (c - '0')*ooo; else a[length] = a[length] * 10 + (c - '0')*ooo; } if (c >= 'a'&&c <= 'z') { d = c; if (a[length] != 0) { x-= a[length]; a[length] = 0; } else x -= ooo; length--; } c=getchar(); } for (int i = 1; i <= length; i++) { if (i <= mid) sum -= a[i]; else sum += a[i]; } if (sum == 0) { printf("%c", d); printf("=0.000"); } else printf("%c=%.3lf", d, sum / x); return 0;
}
主要慢慢想,用数组存放出现的非未知数的数