✏️ 纠错
第 275 题 / 共 301 题
第 9 题 下面的C++不能实现如下输出,但如果将L1标记的cout << 0行移动if块外面,或者说移动到L2 标记行,则可以。( )

int n, i, j;
cout << "请输入矩阵大小:";
cin >> n;
for (i = 0; i < n; i++){
for (j = 0; j < n; j++){
if (i == j){
cout << i + 1;
continue;
}
cout << 0; // L1
} // L2
printf("\n");
}

int n, i, j;
cout << "请输入矩阵大小:";
cin >> n;
for (i = 0; i < n; i++){
for (j = 0; j < n; j++){
if (i == j){
cout << i + 1;
continue;
}
cout << 0; // L1
} // L2
printf("\n");
}
你真棒!
📝 题目解析
【答案】对
【考纲知识点】循环结构
【解析】原代码中L1行的“cout << 0;”位于continue语句后,无法执行,导致非对角线元素未输出0。将该行移至if块外(L2处),则每次循环中若不满足i==j,会正常输出0,从而正确生成题目要求的矩阵。