离谱:输出nan
#include<bits/stdc++.h>
using namespace std ;
double num = 0 , x = 0 ;
char c , ps ;
int a[100] = { 0 } , l = 1 , mid , p ;
int main () {
int ch ;
p = 1 ;
while( ( ch = getchar() ) != '=' ) {
c = ch ;
if ( c == '-' ) {
l++ ;
p = -1 ;
}
else if ( c == '+' ) {
l++ ;
p = 1 ;
}
else if ( isdigit(c) ) {
if ( !a[l] ) {
a[l] = 0 ;
}
else {
a[l] *= 10 ;
}
a[l] += ( c - 48 ) * p ;
}
else if ( ( c - 97 ) < 26 || ( c - 0x61 < 0x1A ) || ( c - 65 < 26 ) || ( c - 0x41 < 0x1A ) ) {
ps = c ;
if ( a[l] ) {
x += a[l] ;
a[l] = 0 ;
}
else {
x += p ;
}
--l ;
}
}
mid = l , l++ , p = 1 ;
while( ( ch = getchar() ) != EOF ) {
c = ch ;
if ( c == '-' ) {
l++ ;
p = -1 ;
}
else if ( c == '+' ) {
l++ ;
p = 1 ;
}
else if ( isdigit(c) ) {
if ( !a[l] ) {
a[l] = 0 ;
}
else {
a[l] *= 10 ;
}
a[l] += ( c - 48 ) * p ;
}
else if ( ( c - 97 ) < 26 || ( c - 0x61 < 0x1A ) || ( c - 65 < 26 ) || ( c - 0x41 < 0x1A ) ) {
ps = c ;
if ( a[l] ) {
x -= a[l] ;
a[l] = 0 ;
}
else {
x -= p ;
}
--l ;
}
}
for ( int i = 0 ; i < l ; i++ ) {
if ( i < mid ) {
num -= a[i] ;
}
else {
num += a[i] ;
}
}
if ( ( num / x ) ) {
printf( "%c=%.3lf" , ps , num / x ) ;
}
else {
printf( "%c=0.000" , ps ) ;
}
return 0 ;
}