计算机二级

有以下程序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 1

题目

有以下程序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正确。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序段按以下形式输出数组num右上半三角的数据,请在下划线处填空。 1 2 3 4 6 7 8 11 12 16 #define N 4 int num[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<N;i++) { for(j=0; j<i ;j++) printf("%3c",' '); for((1) ;j<N;j++) printf("%3d",num[i][j]); printf("n"); }


B本题中要求输出右上半角的数,对角线上的数的下标相同,所以j=i。

第2题:

有以下程序 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",num[i][j]); prrintf("\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循环控制的输出。而在第i行,输出的第一个元素是num[i][i],所以下划线处应填i。

第3题:

有如下程序 include main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14

有如下程序 #include<stdio.h> main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16)); int i,s=0; for(i=0;i<4;i++)s+=a[i][1]; printf("%d\n",s); }程序运行后的输出结果是______。

A.11

B.32

C.13

D.20


正确答案:B

第4题:

有以下程序: #include<stdio.h> #define N 4 void fun(int a[][N],int[]) { int i; for(i=o;i<N;i++)b[i]=a[i][i]-a[i][N-1-i-]}; } main( ) { int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i; fun(X,y); for(i=0;i<N;i++)printf("%d,",y[i]);printf("\n"); } 程序运行结果为( )。

A.-l2,-3,0,0,

B.-3,-l,1,3,

C.0,1,2,3,

D.-3,-3,-3,-3,


正确答案:B
此题考查函数的调用以及数组的用法,由函数fun可知,当i=0,i<N且N=4,执行i++和b[i]=a[i][i]-a[i][N-1-i],经过运算得出结果为-3,-l,1,3。

第5题:

有以下程序:

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",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
本题中要求输出右上半角的数,对角线上的数的下标相同,所以j=i。

第6题:

有以下程序 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",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

第7题:

有以下程序: 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",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
本题中要求输出右上半角的数,对角线上的数的下标相同,所以j=i。

第8题:

有以下程序: main() {int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},ij; for(i=0;i<4;i++) { for(j=0;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
解析:本题程序为二重循环,外循环控制输出数据的行数,内循环控制输出数据的列数。从本题输出的形式来看,程序要求输出的是4行4列。

第9题:

有以下程序:include main( ){int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;1

有以下程序: #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;i4;i++)控制输出4行,内层的第一条for循环控制每行输出的空格数,第二条for循环用于控制每行的数字输出,由于每一行的数字个数比前一行少1个,所以内层的第二条for循环每次循环的次数需要递减1,那么j的初始值应该递增,因为第一行输出的是4个数,所以空格中应填i。