求大佬指点 明明输出的都一样 但就是WA
查看原帖
求大佬指点 明明输出的都一样 但就是WA
536845
bixie_kk楼主2022/5/20 12:56
#include<bits/stdc++.h>
using namespace std;
int fu,xi,flag,zum,cnt;
char ch,x;
int main() {
	fu=1;
	ch=getchar();
	while(ch!='=') {
		if(ch=='+') {
			if(flag) {if(!xi) xi=1;zum+=xi*fu;}
			else cnt-=xi*fu;
			fu=1;flag=0;xi=0;
			ch=getchar();
			continue;
		}
		if(ch=='-') {
			if(flag) zum+=xi*fu;
			else cnt-=xi*fu;
			fu=-1;flag=0;xi=0;
			ch=getchar();
			continue;
		}
		if(ch>='0'&&ch<='9') xi=xi*10+(ch-'0');
		else {
			x=ch;
			flag=1;
		}
		ch=getchar();
	}
	if(flag) {if(!xi) xi=1;zum+=xi*fu;}
	else cnt-=xi*fu;
	xi=0;fu=1;flag=0;
	while(ch=getchar()) {
		if(ch==10) break;
		if(ch=='+') {
			if(flag) {if(!xi) xi=1;zum-=xi*fu;}
			else cnt+=xi*fu;
			fu=1;flag=0;xi=0;
			continue;
		}
		if(ch=='-') {
			if(flag) {if(!xi) xi=1;zum-=xi*fu;}
			else cnt+=xi*fu;
			fu=-1;flag=0;xi=0;
			continue;
		}
		if(ch>='0'&&ch<='9') xi=xi*10+(ch-'0');
		else flag=1;
	}
	if(flag) zum-=xi*fu;
	else cnt+=xi*fu;
	if(cnt/zum==0) printf("%c=0.000",x);
	else printf("%c=%0.3f",x,1.0*cnt/zum);
}
/*
20+3x=-18
x=-12.667
*/
2022/5/20 12:56
加载中...