题目描述
一串长度不超过 255 的 PASCAL 语言代码,只有 a,b,c 3 个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,每条赋值语句的格式是 [变量]:=[变量或一位整数];
。未赋值的变量值为 0输出 a、b、c 的值。
输入格式
一串(<255)PASCAL语言,只有a,b,c 3个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,未赋值的变量值为0。
输出格式
输出a,b,c 最终的值。
输入输出样例
输入
a:=3;b:=4;c:=5;
输出
3 4 5
本题使用map容器解决
#include<iostream>
#include<string>
#include<map>
using namespace std;
map <char,char> num;
string str;
int main(){
getline(cin,str);
int len = str.length();
//初始化
num.insert(pair<char,int>('a','0'));
num.insert(pair<char,int>('b','0'));
num.insert(pair<char,int>('c','0'));
for(int i=0;i<len;i+=5){
if(str[i+3] >= '0' && str[i+3]<='9'){
num[str[i]] = str[i+3];//若是0-9则赋值0-9
}
else{
num[str[i]] = num[str[i+3]];//若是字母则进行=赋值
}
}
cout<<num['a']-'0'<<" "<<num['b']-'0'<<" "<<num['c']-'0';
return 0;
}