下面 C++ 代码用于判断输入的整数是否为位增数,即从首位到个位逐渐增大,是则输出 1。如 123 是一个位增数。下面横线处应填入的是( )。
int N;
int n1,n2;
cin >> N;
_______________________;
while(N){
n1 = N % 10;
if(n1 >= n2){
cout << 0;
return 1;
}
n2 = n1, N /=10;
}
cout << 1;
cout << endl;
return 0;答案D。先分析已有代码的功能,确定输出目标,再反推横线处需要的代码。可用代入法验证。
将每个选项代入横线处验证是最可靠的方法。注意代码的完整逻辑和输出格式。
【考点】整数除法与取模运算|循环结构初始化|位值概念
GESP一级 C++ 模块"程序设计与调试",考查位值理解与除取模运算。命题人卡住的是循环前的初始化意识——绝大多数考生只盯着 while 内部逻辑,却丢了循环外必须给 n2 赋初值这一步。