P1597 语句解析

题目链接:

该题的读入方式值得学习:连续读入若干条相同格式的语句,可以考虑\(\sf while...scanf...!=EOF\)的形式。
由于赋值语句可能是将变量赋值给变量或者将值赋给变量,因此在这里需要对\(\rm s_2\)是否是数字作讨论。

#include <cstdio>
char s1, s2;
int a[3];
int main()
{
    while (scanf("%c:=%c;", &s1, &s2) == 2)
    {
        a[s1 - 'a'] = (s2 >= '0' && s2 <= '9') ? s2 - '0' : a[s2 - 'a'];
    }
    printf("%d %d %d", a[0], a[1], a[2]);
    return 0;
}
posted @ 2024-01-20 19:31  胖柚の工作室  阅读(49)  评论(0)    收藏  举报