大佬求助

P1597 语句解析

```cpp cout << out[0] << ' ' << out[1] << ' ' << out[2];//输出 ``` **可以移到for外面去,不然会多次输出** ```cpp #include<bits/stdc++.h> using namespace std; int main() { int out[3]; //输出的三个数 string in; //输入的一个字符串 cin >> in; //开始输 for (int i = 0; i < in.length(); i++) //遍历字符串(i为字符串下标) :) { if (in[i] == '=') // 如果字符为'='即下一个字符为数字 :> { if(in[i + 1] >= '0' && in[i + 1] <= '9') //如果为一个数字 { out[in[i-2]-'a']=in[i+1]-'0'; // 处理 // 'a'-'a' = 0 ; 'b' - 'a' = 1 ; 'c' - 'a' = 2 } else { out[in[i-2]-'a']=out[in[i+1]-'a']; //懂的都懂 '~' } } } cout << out[0] << ' ' << out[1] << ' ' << out[2];//输出 return 0; } ```
by 123xiayicheng @ 2022-11-23 21:47:04


**out数组初始化一下** ```cpp #include<bits/stdc++.h> using namespace std; int main() { int out[3]; //输出的三个数 memset(out,0,sizeof(out)); string in; //输入的一个字符串 cin >> in; //开始输 for (int i = 0; i < in.length(); i++) //遍历字符串(i为字符串下标) :) { if (in[i] == '=') // 如果字符为'='即下一个字符为数字 :> { if(in[i + 1] >= '0' && in[i + 1] <= '9') //如果为一个数字 { out[in[i-2]-'a']=in[i+1]-'0'; // 处理 // 'a'-'a' = 0 ; 'b' - 'a' = 1 ; 'c' - 'a' = 2 } else { out[in[i-2]-'a']=out[in[i+1]-'a']; //懂的都懂 '~' } } } cout << out[0] << ' ' << out[1] << ' ' << out[2];//输出 return 0; } ```
by 123xiayicheng @ 2022-11-23 21:57:08


谢谢大佬!!!
by SNYQT_Howard @ 2022-11-25 18:56:56


```cpp #include<bits/stdc++.h> using namespace std; int r1=1,r2=1;string a; int x,y,z,la; int main() { cin>>a;la=a.size()-1;x=y=z=0; for(int i=0;i<=la;i++) { if(i%5==0) { if(a[i]=='a') { if(a[i+3]=='b') { x=y; } else if(a[3+i]=='c') { x=z; } else if(a[3+i]=='a') { } else { x=int(a[i+3]-48); } } if(a[i]=='b') { if(a[i+3]=='a') { y=x; } else if(a[3+i]=='c') { y=z; } else if(a[3+i]=='b') { } else { y=int(a[i+3]-48); } } if(a[i]=='c') { if(a[i+3]=='b') { z=y; } else if(a[3+i]=='c') { } else if(a[3+i]=='a') { z=x; } else { z=int(a[i+3]-48); } } } } printf("%d %d %d",x,y,z); return 0; }
by xingcode @ 2022-11-27 15:09:22


|