共42道题,当前是第35

Description

(汽水问题) 陈老师从商店里买了n瓶汽水,他每喝完一瓶汽水就把瓶盖保存起来,k个瓶盖可以换一瓶新的汽水,请计算陈老师最终能喝多少瓶汽水。需要注意的是,本题中陈老师不可以赊账,比如,若 $5$ 个瓶盖可以换一瓶汽水,但是陈老师现在有 $4$ 个瓶盖,则陈老师先赊一个瓶盖购买汽水,然后将 $5$ 个瓶盖还给商店,这个行为在本题中是不可以进行的。

试补全该模拟程序。 

1	#include <iostream>
2	using namespace std;
3	int main()
4	{
5	    int n,      	// n表示当前购买但未喝的汽水瓶数   
6	        k,      	// k表示可以兑换一瓶汽水的瓶盖数
7	        s = 0,  	// s记录陈老师喝了的汽水总瓶数
8	        t = 0;  	// t记录陈老师拥有的瓶盖数量
9	    cin >> n >> k;
10	    do
11	    {
12	        s += ___ (1) ___  ;
13	        t += ___ (2) ___  ;
14	        n = ___ (3) ___  ;
15	        t %= ___ (4) ___  ;
16	    } while ( ___ (5) ___  );
17	    cout << s << endl;
18	    return 0;
19	}

1. A。解析:喝了 $n$ 瓶汽水,已喝汽水总量增加$n(s+=n)$。
2. A。解析:喝了 $n$ 瓶汽水,瓶盖总量增加 $n(t+=n)$。
3. D。解析:用 $t$ 个瓶盖最多可兑换 $t/k$ 瓶汽水,所以 $n$ 更新为 $t/k$。
4. B。解析:兑换尽可能多的汽水后,剩余瓶盖数量为 $t%k$。
5. A。解析:只要能对话至少 $1$ 瓶汽水$(n>0)$,就继续循环。 

Question

___ (1) ___ 处应填( )

___ (2) ___ 处应填( )

___ (3) ___ 处应填( )

___ (4) ___ 处应填( )

___ (5) ___ 处应填( )

陈伦制作 版权所无 粤ICP备16127491号-1