@[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