1.9 KiB
1.9 KiB
C++ 顺序结构综合练习 课后习题 - 答案
一、 填空题
- 思考解题逻辑
- 第三个变量,
num1 = num2; - 分钟
diff / 60,diff % 60- CE (Compile Error)
- WA (Wrong Answer)
cout
二、 单项选择题
- D. 这是错误的交换方法。
num1 = num2;后,num1的值变为20。num2 = num1;后,num2的值也保持为20。 - C. 样例不通过说明程序逻辑有问题,需要调试修正。
- B.
小时数 * 60 + 分钟数是正确的换算逻辑。 - B. 百分比要换算成小数,且结果可能为小数,应用
double类型存储。 - C. AC代表通过了所有测试,是最终的正确结果。
- C. WA代表程序能运行但结果不对,这是逻辑或格式上的错误。CE才是语法错误。
- A.
125 / 60整数除法得2。125 % 60取余数得5。 - B. 程序的价值在于处理不确定的、任意的合法输入,所以必须用
cin。
三、 判断题
- √ (这是标准的三变量交换法。)
- √ (讲义的核心思想之一,清晰的逻辑远比盲目试错重要。)
- × (CE是编译错误,即语法错误。WA或TLE等才是逻辑算法错误。)
- × (这种方法无法处理分钟不够减需要向小时借位的情况,统一单位是更简单可靠的方法。)
- × (OJ系统会有更多、更复杂的测试数据,样例通过只是第一步。)
- √ (对于评测系统来说,它只关心最终打印到屏幕上的字符序列是否完全匹配。)
- √ (这是讲义中重点推荐的调试逻辑错误的方法。)
- √ (因为
* 0.2这类运算可能产生小数,用int会丢失精度。) - × (这行代码的作用是从键盘读取两个值,分别存入变量
a和b。) - √ (OJ是“死脑筋”的,格式必须完全一致。)