13. 在下列代码的横线处填写(),可以使得输出是“20 10”。 (2023年3月 GESP C++ 一级)
13. 在下列代码的横线处填写(),可以使得输出是“20 10”。
#include <iostream> using namespace std; int main() { int a = 10, b = 20; a = ________; // 在此处填入代码; b = a / 100; a = a % 100; cout << a << " " << b << endl; return 0; }
A. a + b
B. (a + b) * 100
C. b * 100 + a
D. a * 100 + b
正确答案是 D. a * 100 + b
以下是对每个选项的详细分析:
A. a + b
a = a + b
相当于a = 10 + 20
,所以a
变为 30。b = a / 100
相当于b = 30 / 100
,所以b
变为 0。a = a % 100
相当于a = 30 % 100
,所以a
变为 30。输出为 "30 0",不符合要求。
B. (a + b) * 100
a = (a + b) * 100
相当于a = (10 + 20) * 100
,所以a
变为 3000。b = a / 100
相当于b = 3000 / 100
,所以b
变为 30。a = a % 100
相当于a = 3000 % 100
,所以a
变为 0。输出为 "0 30",不符合要求。
C. b * 100 + a
a = b * 100 + a
相当于a = 20 * 100 + 10
,所以a
变为 2010。b = a / 100
相当于b = 2010 / 100
,所以b
变为 20。a = a % 100
相当于a = 2010 % 100
,所以a
变为 10。输出为 "10 20",不符合要求。
D. a * 100 + b
a = a * 100 + b
相当于a = 10 * 100 + 20
,所以a
变为 1020。b = a / 100
相当于b = 1020 / 100
,所以b
变为 10。a = a % 100
相当于a = 1020 % 100
,所以a
变为 20。输出为 "20 10",符合要求。
因此,正确答案是 D. a * 100 + b。