P1597 语句解析

也算是水题吧。。。刚肝完数据结构实验,准备水一波

题目背景
木有背景……

题目描述
一串长度不超过 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

#include
using namespace std;
int main(){
	char pascal[256]={'\0'};
	int a=0,b=0,c=0;
	cin>>pascal;
	int length=strlen(pascal);
	for(int i=0;i<length;i+=5){
		if(pascal[i]=='a'){
			if(pascal[i+3]>='0'&&pascal[i+3]<='9'){
				a=pascal[i+3]-'0';
			}
			else if(pascal[i+3]=='a'){
				a=a;
			}
			else if(pascal[i+3]=='b'){
				a=b;
			}
			else if(pascal[i+3]=='c'){
				a=c;
			}
		}
		else if(pascal[i]=='b'){
			if(pascal[i+3]>='0'&&pascal[i+3]<='9'){
				b=pascal[i+3]-'0';
			}
			else if(pascal[i+3]=='a'){
				b=a;
			}
			else if(pascal[i+3]=='b'){
				b=b;
			}
			else if(pascal[i+3]=='c'){
				b=c;
			}
		}
		else{
			if(pascal[i+3]>='0'&&pascal[i+3]<='9'){
				c=pascal[i+3]-'0';
			}
			else if(pascal[i+3]=='a'){
				c=a;
			}
			else if(pascal[i+3]=='b'){
				c=b;
			}
			else if(pascal[i+3]=='c'){
				c=c;
			}
		}
	}
	cout<<a<<" "<<b<<" "<<c;
	return 0;												
}

你可能感兴趣的:(C++,洛谷,摸鱼)