求助40分

P1597 语句解析

@[shangyuang](/user/552461) 赋值语句错了 应为: ```cpp #include<bits/stdc++.h> using namespace std; int a,b,c;char d,e; int main(){ while(scanf("%c:=%c;",&d,&e)==2){ if(e<='9'&&e>='0'){ if(d=='a'){ a=e-'0'; }else if(d=='b'){ b=e-'0'; }else if(d=='c'){ c=e-'0'; } }else{ if(d=='a'){ if(e=='a'){ a=a; }else if(e=='b'){ a=b; }else if(e=='c'){ a=c; } } if(d=='b'){ if(e=='a'){ b=a; }else if(e=='b'){ b=b; }else if(e=='c'){ b=c; } } if(d=='c'){ if(e=='a'){ c=a; }else if(e=='b'){ c=b; }else if(e=='c'){ c=c; } } } } cout<<a<<' '<<b<<' '<<c; } ``` 下面是我的程序: ```cpp #include<bits/stdc++.h> using namespace std; string a; int aa,ba,ca; int main() { getline(cin,a); for(int i=0;i<a.size();i+=5){ if(a[i+3]>='0'&&a[i+3]<='9'){ if(a[i]=='a')aa=a[i+3]-'0'; if(a[i]=='b')ba=a[i+3]-'0'; if(a[i]=='c')ca=a[i+3]-'0'; }else{ if(a[i]=='a'){ if(a[i+3]=='a')aa=aa; if(a[i+3]=='b')aa=ba; if(a[i+3]=='c')aa=ca; } if(a[i]=='b'){ if(a[i+3]=='a')ba=aa; if(a[i+3]=='b')ba=ba; if(a[i+3]=='c')ba=ca; } if(a[i]=='c'){ if(a[i+3]=='a')ca=aa; if(a[i+3]=='b')ca=ba; if(a[i+3]=='c')ca=ca; } } } cout<<aa<<' '<<ba<<' '<<ca; } ``` 更加简洁。 求关(QWQ)
by zcy_jake @ 2023-08-27 08:42:15


|