阅读下列程序。Option Base 1Private Sub Form. _Click()Dim x(3,3)For j=1 to 3For k=l to 3If j=k then x(j,k)=1If j<>k then x(j,k)=kNext kNext iCall fun(x())End SubPrivate Sub fun(x())For j=1 to 3For k=1 to 3Print x(j,k);Next kNext jEnd Sub运行程序时,输出结果为【 】。

题目

阅读下列程序。

Option Base 1

Private Sub Form. _Click()

Dim x(3,3)

For j=1 to 3

For k=l to 3

If j=k then x(j,k)=1

If j<>k then x(j,k)=k

Next k

Next i

Call fun(x())

End Sub

Private Sub fun(x())

For j=1 to 3

For k=1 to 3

Print x(j,k);

Next k

Next j

End Sub

运行程序时,输出结果为【 】。


相似考题
更多“阅读下列程序。Option Base 1Private Sub Form. _Click()Dim x(3,3)For j=1 to 3For k=l to 3If j ”相关问题
  • 第1题:

    阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明2.1】

    以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。

    【函数2.1】

    void fun1 (int a[])

    { int i,j,k,r,x,m;

    for(i=2;i<=n;i++)

    { (1);

    k=1;r=i-1;

    while(k<=r)

    { m=(k+r)/2;

    if(x<a[m])r=m-1;

    else (2);

    }

    for(j=i-1;j>=k;j--)

    a[j+l]=a[j];

    (3);

    }

    }

    【说明2.2】

    以下程序可以把从键盘上输入的十进制数(long型)以二~十六进制形式输出。

    【程序2.2】

    include<stdio.h>

    main()

    { charb[16]={'0','l','2','3 ,4,'5','6','7','8','9','A','B','C','D','E','F'};

    int c[64],d,i=0,base;

    long n;

    printf("enter a number:\n");

    scanf("%1d",&n);

    printf("enter new basc:\n");

    scanf("%d", &base);

    do

    { c[i]=(4);

    i++; n=n/base;

    } while(n!=0);

    printf("transmite new base:\n");

    for(--i;i>=0;--i)

    { d=c[i];

    printf("%c",(5));

    }

    }


    正确答案:(1)x=a[i] (2)a[k]=x (3)k=m+1 (4) n% base (5)b[d]
    (1)x=a[i] (2)a[k]=x (3)k=m+1 (4) n% base (5)b[d] 解析:函数3.1的思想是依次将数组中的每一个元素插入到有序段中,使有序段的长度不断地扩大。对于待插入元素,先用二分查找法找出应该插入的位置。然后将元素插入。对数组来说,就是将该位置以后的元素依次后移,然后将待插入元素放到移出来的空位中。
    程序3.2用的思想是除base(base在二~十六进制之间)取余法求得相应进制数,然后再转换输出。

  • 第2题:

    阅读下列程序。

    Option Base 1

    Private Sub Form CliCk()

    Dim x(3,3)

    For j=1 to 3

    For k=1 to 3

    If j=k then x(j,k)=1

    If j<> k then x(j,k)=3

    Next k

    Next j

    Call fun(x())

    End Sub

    Private Sub fun(a())

    For j=1 to 3

    For k=1 to 3

    Print a (j,k);

    Next k

    Next j

    End Sub

    运行程序时,输出的结果是【 】。


    正确答案:1 3 3 3 1 3 3 3 1
    1 3 3 3 1 3 3 3 1 解析:本题主要考查考生数组虚实结合掌握的情况。事件过程定义又生成了 3*3的数组,该数组的主对角线元素为1,其余元素为3。接着调用了通用过程。调用通用过程时,首先进行虚实结合,然后执行通用过程。执行过程后,返回调用它的事件过程。本题中调用通用过程时,进行虚实地址结合,在通用过程中访问的a数组就是事件过程中的X的数组。在过程中,按行优先顺序输出了a数组所有的元素的值。由于在输出时只执行了循环体的"printan,k);”,输出数据后有分号。因此输出一行,输出的结果是:1 3 3 3 1 3 3 3 1。

  • 第3题:

    计算下列程序段中x++的语句频度: for(i=1; i<=n; i++) for(j=1; j<=i; j++) for(k=1; k<=j; k++) x++;


    D当所有相邻元素都为逆序时,则最后一行的语句每次都会执行。

  • 第4题:

    有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;

    有以下程序

    main( )

    { int x[ ]={1,3,5,7,2,4,6,0},i,j,k;

    for(i=0;i<3;i++)

    for (j=2;j>=i;j--)

    if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

    for(i=0;i<3;i++)

    for(j=4;j<7-i;j++)

    if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

    for (i=0;i<3;i++)

    if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

    for (i=0;i<8;i++) printf("%d",x[i]);

    printf("\n");

    }

    程序运行后的输出结果是:

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:程序运行的输出结果是75310246。

  • 第5题:

    阅读下列FORTRAN程序:
    DIMENSION M(6)
    READ(*,*)M
    DO 10 J=l,6 DO 10 K=J,6 IF(M(K)LTM(J))THEN N=M(K)
    M(K)=M(J)
    M(J)=N END IF 10 CONTINUE
    WRITE(*,100)(M(I),I=1,6)
    100 FORMAT(2X,614)
    END
    键盘输入10,7,9,2,1,3;程序运行后的输出结果是:

    A. 1 2 3 7 9 10
    B. 10 9 7 3 2 1
    C. 7 9 2 1 3 10
    D. 3 1 2 9 7 10

    答案:A
    解析:
    数组赋值以后,各数组元素的值为:
    M(1)=10,M(2)=7,M(3)=9,M(4)=2,M(5)=1,M(6)=3。
    当循环一次后M(l)的值就确定下来了,因此不需要再做下去。
    答案:A