✏️ 纠错
第 262 题 / 共 301 题
第 11 题 下面C++代码用于记录多个输入数中的最大数和最小数(输入-999 则输入结束),相关说法错误的是( )。
cin >> now_num;
min_num = max_num = now_num;
while (now_num != -999) {
if (max_num < now_num)
max_num = now_num;
if (min_num > now_num)
min_num = now_num;
cin >> now_num;
}
cout << min_num << ' ' << max_num;
cin >> now_num;
min_num = max_num = now_num;
while (now_num != -999) {
if (max_num < now_num)
max_num = now_num;
if (min_num > now_num)
min_num = now_num;
cin >> now_num;
}
cout << min_num << ' ' << max_num;
你真棒!
📝 题目解析
【答案】D
【考纲知识点】循环结构
【解析】将cin>>now_num;放在while循环体内首行会导致首次输入无法读取,且条件判断会基于未初始化的now_num,引发逻辑错误或未定义行为。原代码先读取第一个数并赋值给min_num和max_num,确保了后续比较的正确性,因此D选项的说法错误,移动后程序无法正常工作。