✏️ 纠错
第 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");
}
 
📝 题目解析

【答案】对

【考纲知识点】循环结构

【解析】原代码中L1行的“cout << 0;”位于continue语句后,无法执行,导致非对角线元素未输出0。将该行移至if块外(L2处),则每次循环中若不满足i==j,会正常输出0,从而正确生成题目要求的矩阵。