Files

1.9 KiB

C++ 顺序结构综合练习 课后习题 - 答案

一、 填空题

  1. 思考解题逻辑
  2. 第三个变量,num1 = num2;
  3. 分钟
  4. diff / 60 , diff % 60
  5. CE (Compile Error)
  6. WA (Wrong Answer)
  7. cout

二、 单项选择题

  1. D. 这是错误的交换方法。num1 = num2; 后,num1 的值变为20。num2 = num1; 后,num2 的值也保持为20。
  2. C. 样例不通过说明程序逻辑有问题,需要调试修正。
  3. B. 小时数 * 60 + 分钟数 是正确的换算逻辑。
  4. B. 百分比要换算成小数,且结果可能为小数,应用 double 类型存储。
  5. C. AC代表通过了所有测试,是最终的正确结果。
  6. C. WA代表程序能运行但结果不对,这是逻辑或格式上的错误。CE才是语法错误。
  7. A. 125 / 60 整数除法得 2。125 % 60 取余数得 5。
  8. B. 程序的价值在于处理不确定的、任意的合法输入,所以必须用 cin。

三、 判断题

  1. √ (这是标准的三变量交换法。)
  2. √ (讲义的核心思想之一,清晰的逻辑远比盲目试错重要。)
  3. × (CE是编译错误,即语法错误。WA或TLE等才是逻辑算法错误。)
  4. × (这种方法无法处理分钟不够减需要向小时借位的情况,统一单位是更简单可靠的方法。)
  5. × (OJ系统会有更多、更复杂的测试数据,样例通过只是第一步。)
  6. √ (对于评测系统来说,它只关心最终打印到屏幕上的字符序列是否完全匹配。)
  7. √ (这是讲义中重点推荐的调试逻辑错误的方法。)
  8. √ (因为 * 0.2 这类运算可能产生小数,用 int 会丢失精度。)
  9. × (这行代码的作用是从键盘读取两个值,分别存入变量 a 和 b。)
  10. √ (OJ是“死脑筋”的,格式必须完全一致。)