题解
童童的数字游戏
1 条题解
-
0
解题思路
题目要求用
do while。读入一个范围 [a, b](可能 a > b,要先交换保证 a ≤ b),然后循环读数字(0 结束),统计在范围内的个数。参考代码
#include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; // 范围的开始和结束 if (a > b) { // 如果开始比结束大,交换保证a<=b int t = a; a = b; b = t; } int x, cnt = 0; // x是读入的数字,cnt是范围内个数 do { cin >> x; if (x >= a && x <= b) cnt++; // 在范围内就计数 } while (x != 0); // 读到0结束 cout << cnt << endl; return 0; }复杂度分析
读入 n 个数处理一遍,时间复杂度 O(n),额外空间复杂度 O(1)。
- 1