niusouti.com

有以下程序mian(){ int i,j;for(i=1;i<4;i++){ for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);printf("\n");}}程序运行后的输出结果是A)1*1=1 1*2=2 1*3=32*1=2 2*2=43*1=3B)1*1=1 1*2=2 1*3=32*2=4 2*3=63*3=9C)1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D)1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9

题目

有以下程序

mian()

{ int i,j;

for(i=1;i<4;i++)

{ for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);

printf("\n");

}

}

程序运行后的输出结果是

A)

1*1=1 1*2=2 1*3=3

2*1=2 2*2=4

3*1=3

B)

1*1=1 1*2=2 1*3=3

2*2=4 2*3=6

3*3=9

C)

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

D)

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9


相似考题
参考答案和解析
正确答案:B
更多“有以下程序mian(){ int i,j;for(i=1;i&lt;4;i){ for(j=i;j&lt;4;j) printf("%d*%d=%d " ”相关问题
  • 第1题:

    有以下程序 void fun(int *a,int i,int j) { in t; if(i<j) {t=a[i];a[i]=a[j];a[j]=t; fun(a,++i,--j); } } main() { int a[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i<6;i++) printf("%d",a[i]); } 执行后输出结果是

    A.6 5 4 3 2 1

    B.4 3 2 1 5 6

    C.4 5 6 1 2 3

    D.1 2 3 4 5 6


    正确答案:A
    解析:函数fun()中有3个参数,参数。为一个指针变量,接收的实参可以是数组名,参数i和j分别表示数组元素的下标,当下标i小于下标j时,a[i]和a[j]交换,然后对自身进行调用,可见这是一个递归函数。其实现的功能是把数组a,从下标为i的元素到下标为j的元素之间的所有元素反序存放。在主函数中调用fun()函数,把a数组从a[0]到a[5]之间的所有元素反序存放,最后输出从a[1]到a[5]的值,因此输出的值为6、5、4、3、2、1。

  • 第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=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正确。

  • 第3题:

    有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[i]; a[i]=a[j]; a[j]=t; i++; j--; fun(a,i, j); } ) main ( ) { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\"n); } 程序运行后的输出结果是

    A.1 2 6 8

    B.8 6 2 1

    C.8 1 6 2

    D.8 6 1 2


    正确答案:C
    解析:本题考核的知识点是倘单程序的分析。函数fun()中用了一个if语句,当数组下标i小于数组下标j时,交换数组元素a[i]和a[j]的值,并使i值加1,j值减1。其功能就是把数组a中从下标i到j的元素首尾互换。主函数中定义一个数组,在定义该数组的时候缺省了定义长度,定义的同时将其初始化赋值,所以该数组的长度为初始化该数组时的元素的个数即4,接着调用fun(a,0,3),其中将a数组的第一个元素的下标0和最后一个元素的下标3传给了函数fun(),故执行完该函数后,数组a中的元素首尾互换,因此最后依次输出的数组a中值为8,1,6和2,所以,4个选项中选项C符合题意。

  • 第4题:

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

  • 第5题:

    有以下程序段: inti,j,m=0; for(i=1;i<;=15;i+=4) for(j一3;j<;=19;j+=4)m++; printf(‘‘%d\n‘‘,m); 程序段的输出结果是( )。

    A.12

    B.15

    C.20

    D.25


    正确答案:C

  • 第6题:

    1、读以下程序,printf会被执行几次?__________ #include<stdio.h> int main() { int i,j; for(i=1;i<4;i++) { for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j); } }


    C