语句解析 - 洛谷
语句解析
题目背景
木有背景……
题目描述
一串长度不超过255的 PASCAL 语言代码,只有 a,b,c 三个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,每条赋值语句的格式是 `[变量]:=[变量或一位整数];`。未赋值的变量值为 0输出 a,b,c的值。
输入格式
一串符合语法的 PASCAL 语言,只有 a,b,c 三个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,未赋值的变量值为 0。
输出格式
输出 a,b,c最终的值。
样例 #1
样例输入
a:=3;b:=4;c:=5;
样例输出
3 4 5
提示
输入的 PASCAL 语言长度不超过 255。
代码区:
#include<stdio.h>
#include<string.h>
int main()
{char s[100];gets(s);int a=0,b=0,c=0;for(int i=0;i<strlen(s);i++){if(s[i]=='a'&&s[i+1]==':'&&s[i+2]=='='){if(s[i+3]>='0'&&s[i+3]<='9')a=s[i+3]-'0';if(s[i+3]=='b')a=b;if(s[i+3]=='c')a=c; }if(s[i]=='b'&&s[i+1]==':'&&s[i+2]=='='){if(s[i+3]>='0'&&s[i+3]<='9')b=s[i+3]-'0';if(s[i+3]=='a')b=a;if(s[i+3]=='c')b=c; }if(s[i]=='c'&&s[i+1]==':'&&s[i+2]=='='){if(s[i+3]>='0'&&s[i+3]<='9')c=s[i+3]-'0';if(s[i+3]=='a')c=a;if(s[i+3]=='b')c=b; }}printf("%d %d %d",a,b,c);return 0;}
欢迎各位读者提出意见。
(菜菜洛谷奋斗小日记)