1 条题解
-
0
【深基6.习7】语句解析
解题思路
三个变量初始为 0。每条赋值语句格式固定为 5 字符,取第一个字符确定左值,第 4 个字符确定右值是数字还是变量,按顺序赋值。
正确性说明
顺序解释语句使数组始终对应执行到当前位置的变量值;右侧取当前值,符合赋值语义。
易错点
变量初始值为 0;a:=b 是复制当前值,不建立永久关联。
复杂度
语句总长 L,时间 O(L),空间 O(L)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s, t; while (cin >> t) s += t; int v[3] = {}; for (size_t i = 0; i + 4 < s.size(); i += 5) { char c = s[i + 3]; int val = (c >= '0' && c <= '9') ? c - '0' : v[c - 'a']; v[s[i] - 'a'] = val; } cout << v[0] << " " << v[1] << " " << v[2] << "\n"; return 0; }
- 1