#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;}
主要慢慢想,用数组存放出现的非未知数的数

京公网安备 11010502036488号