有下列程序:#include<stdi0.h>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N,i++)b[i]=a[i][i];}voidmain( ){intx[][N]={{1,2,3},{4),{5,6,7,8),{9,10}),y[N],i;fun(x,y);for(i=0;i<n;i++)printf("%d,",y[i]);printf("\n");}程序的运行结果是( )。A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.

题目

有下列程序:

#include<stdi0.h>

#defineN4

voidfun(inta[][N],intb[])

{inti;

for(i=0;i<N,i++)b[i]=a[i][i];

}

voidmain( )

{intx[][N]={{1,2,3},{4),{5,6,7,8),{9,10}),

y[N],i;

fun(x,y);

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

printf("\n");

}

程序的运行结果是( )。

A.1,2,3,4,

B.1,0,7,0,

C.1,4,5,9,

D.3,4,8,10,


相似考题
更多“有下列程序: #include&lt;stdi0.h&gt;#defineN4voidfun(inta[][N],intb[]){inti; for(i=0;i&lt;N ”相关问题
  • 第1题:

    以下程序的输出结果是 include void reverse(int a[ ] ,int n) { int i,t;for(i=0

    以下程序的输出结果是

    #include<iostream.h>

    void reverse(int a[ ] ,int n)

    { int i,t;

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

    {t=a[i] ;a[i] =a[n-1-i] ;a[n-1-i] =t;}

    }

    void main( )

    { int b[10] ={1,2,3,4,5,6,7,8,9,10};int i,s=0;

    reverse(b,8) ;

    for(i=6;i<10;i++) s+=b[i] ;

    cout < < S;

    }

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},在执行for循环结构后,将b[6] ,b[7] ……b[9] 的值相加,结果为 1+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。

  • 第2题:

    以下程序的输出结果是()。includevoid reverse(int a [],int n){int i,t; for(i=0;i

    以下程序的输出结果是( )。 #include <stdio.h> void reverse(int a [],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i]; a[i]=a[n-1 -i];a[n-1-i] =t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d\n",s); }

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},然后再执行for循环结构,将b[6],b[7],…,b[9]的值相加,结果为22。

  • 第3题:

    有以下程序: #include #define N 4 void fun(int a[ ][N],int b[ ]) { int i; for(i=0;i main( ) { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2==0)continue;x++;} x++; } printf("x=%d\n",x); } 程序的运行结果是( )。

    A.x=4

    B.x=6

    C.x=8

    D.x=12


    答案:C 
    解析:第一次循环:i=0,执行x++后x=1,执行内层循环j=0,由于j%2!=0时才执行x++,即只有j取1和3时,执行x++,此时x=1+1+1=3,跳出内层循环,执行下一条x++,x=4,第二次循环:x=1时,重复上述循环,共执行两次循环,故x最终结果是4*2=8。 

  • 第4题:

    有下列程序: #include<stdi0.h> #defineN4 voidfun(inta[][N],intb[]) {inti; for(i=0;i<N,i++)b[i]=a[i][i]; } voidmain( ) {intx[][N]={{1,2,3},{4),{5,6,7,8),{9,10}), y[N],i; fun(x,y); for(i=0;i<n;i++)printf("%d,",y[i]); printf("\n"); } 程序的运行结果是( )。

    A.1,2,3,4,

    B.1,0,7,0,

    C.1,4,5,9,

    D.3,4,8,10,


    正确答案:B
    B。【解析】本题考查数组的初始化,在对二维数组元素赋初值时,如果只对部分元素赋初值,那未赋初值的元素自动取0。fun函数是将二维数组a中主对角线上的元素赋给数组b,所以y[4]=(1,0,7,0)。

  • 第5题:

    以下程序的输出结果是includevoid reverse(int a [ ] ,int n){int i,t;for(i=0;i

    以下程序的输出结果是 #include<iostream.h> void reverse(int a [ ] ,int n) {int i,t; for(i=0;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } void main( ) {int b[10]={1,2,3,4,5,6,7,8,9,10}

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},在执行for循环结构后,将b[6],b[7]……b[9]的值相加,结果为 1+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。