被这个黄题卡了……

P1022 [NOIP2000 普及组] 计算器的改良

@[_ZZH](/space/show?uid=27398) %%%大佬,我就写了24行(滑稽)
by 引领天下 @ 2018-08-06 16:12:43


@[引领天下](/space/show?uid=39863) 啊!太强了,orz。可能是我太弱了……
by _ZZH @ 2018-08-06 16:21:18


@[_ZZH](/space/show?uid=27398) 不不不我是蒟蒻反%
by 引领天下 @ 2018-08-06 16:29:59


@[_ZZH](/space/show?uid=27398) 码农大佬orz
by 引领天下 @ 2018-08-06 16:30:12


@[引领天下](/space/show?uid=39863) ……
by _ZZH @ 2018-08-06 16:36:03


@[引领天下](/space/show?uid=39863) 码农大佬什么鬼……orz
by _ZZH @ 2018-08-06 16:37:32


@[_ZZH](/space/show?uid=27398) 150行代码还不是码农吗……(可能是我太弱了)
by 引领天下 @ 2018-08-06 16:42:02


# 嘤
by dagggg @ 2018-08-06 19:50:35


我200行 ``` #include<bits/stdc++.h> using namespace std; char a[10000]; int a1[10000]; int main(){ cin>>a; int len; len=strlen(a); char x; for(int i=0;i<len;i++) { if(a[i]<='z'&&a[i]>='a') { x=a[i]; } } //cout<<x; double a2=0; int ab=1; int equal=0; int ac=0; char af; int s=0; for(int i=len-1;i>=0;i--) { if(a[i]=='=') { equal=i; } } for(int i=equal;i>=0;i--) { ab=1; ac=0; s=0; if(a[i]==x) { //cout<<"yes"<<endl; for(int j=i-1;j>=0;j--) { if(a[j]>=48&&a[j]<=57) { s=s+(a[j]-48)*ab; ab*=10; ac++; //cout<<"1"<<endl; } else if(a[j]=='-') { s=-1*s;//cout<<"fu"<<endl; break; } else if(a[j]=='+') { s=s;//cout<<"zheng"<<endl; break; } } if(a[i-1]>57||a[i-1]<48) { if(a[i-1]=='-') { s--; } else if(a[i-1]=='+') { s++; } else s++; } a2=a2+s; } } for(int i=len-1;i>=equal;i--) { ab=1; ac=0; s=0; if(a[i]==x) { //cout<<"yes"<<endl; for(int j=i-1;j>=equal;j--) { if(a[j]>=48&&a[j]<=57) { s=s+(a[j]-48)*ab; ab*=10; ac++; //cout<<"1"<<endl; } else if(a[j]=='-') { s=-1*s;//cout<<"fu"<<endl; break; } else if(a[j]=='+') { s=s;//cout<<"zheng"<<endl; break; } } if(a[i-1]>57||a[i-1]<48) { if(a[i-1]=='-') { s--; } else if(a[i-1]=='+') { s++; } else s++; } a2=a2-s; } } //cout<<a2/*<<x*/; //系数算完,接下来算常数!; double b2=0; int bb=1; for(int i=equal;i>=0;i--) { bb=1; s=0; if(a[i]>=48&&a[i]<=57&&a[i+1]!=x) { if(a[i+1]=='-'||a[i+1]=='+'||a[i+1]=='='||a[i+2]=='-'||a[i+2]=='+'||a[i+2]=='='||a[i+2]!=x) { //cout<<"yes"<<endl; for(int j=i;j>=0;j--) { if(a[j]>=48&&a[j]<=57) { s=s+(a[j]-48)*bb; bb*=10; i--; //cout<<"1"<<endl; } else if(a[j]=='-') { if(s!=0)s=-1*s;//cout<<"fu"<<endl; break; } else if(a[j]=='+') { s=s;//cout<<"zheng"<<endl; break; } } b2=b2-s; } } } for(int i=len-1;i>=equal;i--) { bb=1; s=0; if(a[i]>=48&&a[i]<=57&&a[i+1]!=x) { if(a[i+1]=='-'||a[i+1]=='+'||a[i+1]=='='||a[i+2]=='-'||a[i+2]=='+'||a[i+2]=='='||a[i+2]!=x) { //cout<<"yes"<<endl; for(int j=i;j>=equal;j--) { if(a[j]>=48&&a[j]<=57) { s=s+(a[j]-48)*bb; bb*=10; i--; //cout<<"1"<<endl; } else if(a[j]=='-') { if(s!=0)s=-1*s;//cout<<"fu"<<endl; break; } else if(a[j]=='+') { s=s;//cout<<"zheng"<<endl; break; } } b2=b2+s; } } } double H; if(b2!=0&&a2!=0)H=b2/a2; //cout<<a2<<" "<<b2; cout<<x<<"="; if(H==0){cout<<"0.000";return 0;} printf("%.3f",H);//完美的结局! return 0; } ```
by LinAPro @ 2018-08-18 20:51:57


@[silenceabu](/space/show?uid=68163) %%%%%%
by 犇犇犇犇 @ 2018-09-23 09:58:07


| 下一页