2452: 【入门】【P1597】语句解析
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:10
解决:6
题目描述
一串长度不超过 的 PASCAL 语言代码,只有 三个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,每条赋值语句的格式是
[变量]:=[变量或一位整数];
。未赋值的变量值为 输出 的值。输入
一串符合语法的 PASCAL 语言,只有 三个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,未赋值的变量值为 。
输出
输出 最终的值。
样例输入 复制
a:=3;b:=4;c:=5;
样例输出 复制
3 4 5
提示
输入的 PASCAL 语言长度不超过 。
#include<iostream> #include<string> #include<algorithm> using namespace std; int main(){ string s; int a=0,b=0,c=0; cin>>s; int i=0; while(i<s.length()){ if (s[i]=='a'){ if (s[i+3]=='a') a=a; else if (s[i+3]=='b') a=b; else if (s[i+3]=='c') a=c; else if (s[i+3]>='0' && s[i+3]<='9') a=s[i+3]-'0'; i+=5; continue; } else if (s[i]=='b'){ if (s[i+3]=='a') b=a; else if (s[i+3]=='b') b=b; else if (s[i+3]=='c') b=c; else if (s[i+3]>='0' && s[i+3]<='9') b=s[i+3]-'0'; i+=5; } else if (s[i]=='c'){ if (s[i+3]=='a') c=a; else if (s[i+3]=='b') c=b; else if (s[i+3]=='c') c=c; else if (s[i+3]>='0' && s[i+3]<='9') c=s[i+3]-'0'; i+=5; } } cout<<a<<" "<<b<<" "<<c; return 0; }