问题
单项选择题
有以下程序
main ( )
int num[4] [4]=1,2,3,4,5,6,7,8, 9,10,11,12, 13,14,15,16,i, j;
for (i=0;i<4; i++)
for(j=1; j<=i; j++) printf ("%4c",’ ’);
for(j=______;j<4;j++) printf ( "%4d’, num [i] [j] );
printf ( "\n" );
若要按下形式输出数组右上半三角
1 2 3 4
6 7 8
11 12
16
A.i-1
B.i
C.i+1
D.4-i
答案
参考答案:B
解析: 本题考查考生的程序分析能力.程序除了声明语句外,是一个for循环,其中嵌套两个并列的for循环,外层for循环最后一条语句是输出换行,因此外层for循环每循环一次输出1行数据.内层第一个for循环的循环体是输出4个空格,因此它的作用是输出每行开头的空白部分。而内层第二个for循环是输出数组num第i行第i列数据,从结果可以看出,第1行时,它应该输出 num[0][0]~num[0][3]中的数,那么i的变化范围应该是0~3,注意此时i的值为0; 而第2行输出 num[0][1]~num[0][3],j应该为1~3,此时i的值为1:同样可以推出第3行和第4行,i的变化初始值始终跟i的值相同。所以下划线应填入i,选项B正确。