问题
单项选择题
有以下程序:
#include <stdio.h>
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=0;j<=i;j++)printf("%4c",");
for(j=______;j<4;j ++ )printf( "%4d" ,hum[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
解析: 本程序为二重循环,外循环控制输出数据的行数,内循环控制输出数据的列数。本题需要输出4行4列,外层循环语句for(i=0;i<4;i++)控制输出4行,内层的第一条for循环控制每行输出的空格数,第二条for循环用于控制每行的数字输出,由于每一行的数字个数比前一行少1个,所以内层的第二条for循环每次循环的次数需要递减1,那么j的初始值应该递增,因为第一行输出的是4个数,所以空格中应填i。