下列程序段执行后的输出结果是()。 int [][] b = {{1, 2, 3}, {4, 5},{6}}; int sum=0; for(int i = 0;i<b.length;i++) { for(int j = 0;j<b[i].length;j++) { sum += b[i][j]; } } System.out.println(sum);A.6B.28C.21D.9

题目

下列程序段执行后的输出结果是()。 int [][] b = {{1, 2, 3}, {4, 5},{6}}; int sum=0; for(int i = 0;i<b.length;i++) { for(int j = 0;j<b[i].length;j++) { sum += b[i][j]; } } System.out.println(sum);

A.6

B.28

C.21

D.9


相似考题
更多“下列程序段执行后的输出结果是()。 int [][] b = {{1, 2, 3}, {4, 5},{6}}; int sum=0; for(int i = 0;i<b.length;i++) { for(int j = 0;j<b[i].length;j++) { sum += b[i][j]; } } System.out.println(sum);”相关问题
  • 第1题:

    ( 7 )执行下列语句后,变量 sum 的值是 ___________ 。

    int sum=0;

    for(int i=1;i<=3;i++)

    for(int j=1;j<=i;j++)

    sum++;


    正确答案:

  • 第2题:

    以下程序的输出结果是【 】。include main() {int i,j,sum; for(i=3;i>=-1;i-) (sum=0; fo

    以下程序的输出结果是【 】。

    include<stdio.h>

    main()

    {int i,j,sum;

    for(i=3;i>=-1;i-)

    (sum=0;

    for(j=1;j<=i;j++) sum+=i*j;

    }

    printf("%d\n,sum);

    }


    正确答案:√
    1 解析:本题考查的是for循环嵌套。外循环i变量从3递减到1,内循环变量j在每轮外循环的作用下从1递增到i,并在每轮外循环结束时,通过内循环求得sum的值,但由于外循环体的第一条语句是将变量sum初始化为0,所以每轮外循环结束时求得的sum值均被下一轮外循环执行时重新初始化为0,只有在最后一轮,当i=1时,内循环求得stan=1,跳出内循环,i的值减1变为0,不满足i>=1这个条件,结束外循环,此时输出sum的值为1。

  • 第3题:

    以下程序的输出结果是【】。 include using namespace std; int main(){ int sum,i; for(

    以下程序的输出结果是【 】。

    include<iostream>

    using namespace std;

    int main(){

    int sum,i;

    for(sum=0,i=1;i<5;i++)sum+=i;

    cout<<sum<<endl;

    return 0;

    }


    正确答案:10
    10 解析:本题程序实现的是计算1+2+3+4的和,因此最后输出为10。

  • 第4题:

    以下程序的输出结果是#include <stdio.h>main(){ int i,j,sum; for(i=5;i>=1;i--) { sum=0; for(j=i;j<=i;j++) sum+=i*j; } printf("%d\n",sum);}


    正确答案:√
    本题考查对程序运行结果的计算。本程序的目的是输出sum的值,在输出sum值之前,需要进行一个for循环,该循环内部有一个for子循环。外层for语句的循环变量i的初始值为5,循环条件为i>=1,循环变量增值为-1。外层for语句每循环一次,都会将sum值重新赋0,所以,只要计算最后一次循环结束后sum的值作为输出即可。当i=1时,外层for语句进行最后一次循环,sum的值由内层for语句决定。内层for语句循环变量为j,初始值为j=i,循环条件为j<=i,循环变量增值为+1,由此可见,内层for语句只运行一次,结果就是sum=i*j。当i=1时,j=1,sum=1。

  • 第5题:

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

    A.654321

    B.432156

    C.456123

    D.123456


    正确答案:A
    解析:本题采用递归函数的方式将数组中的元素进行倒置,只要能够看出函数fun的功能,即可以得出正确答案为A。

  • 第6题:

    下列程序执行后的结果是______。

    public class ex24

    {

    public static void main(String[] args)

    {

    int j=10;

    a1: for(int i=3;i>0;i--)

    {

    j-=i;

    int m=l;

    a2: while (m<j)

    {

    if (i<=m)

    continue a1;

    j/=m++;

    }

    }

    System.out.println(j);

    }

    }

    下列嵌套的循环程序执行后,结果是______。 public class ax25 { public static void main(String[] args) { int sum=0; for(int i=0;i<=5;i++) { for(int j=10;j>3*i;j--) { sum+=j*i; } } System.out.println(sum); } }

    A.136

    B.127

    C.147

    D.153


    正确答案:C

  • 第7题:

    下列程序输出结果为( )。public class test { public static void main(String args[]) { int a=0; outer: for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { if(j>i) { continue outer; } a++; } } System.out.println(a); }}

    A.0

    B.2

    C.3

    D.4


    正确答案:C

  • 第8题:

    有下列程序: int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]: return sum; } main( ) {int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0; s=fun(a,5)+fun(b,4);printf("%d\n",s); } 程序执行后的输出结果是( )。 、

    A.45

    B.50

    C.60

    D.55


    正确答案:C
    在函数intfun(intx[],intn)的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数intfun(intx[],intn)的功能是求出数组x[]各个元素的和,所以在主函数中,调用函数fun(a,5)后,变量sum=1+2+3+4+5=15,当再次调用fun(b,4)后,变量sum=15+6+7+8+9=45,所以s=15+45=60。

  • 第9题:

    如下程序的输出结果是includeusing namespace std:int main( ){int sum: for(inti=O;

    如下程序的输出结果是 #include<iostream> using namespace std: int main( ){ int sum: for(inti=O;i<6;i+=3){ sunl=i: for(intj=i;j<6;j++)suitL+=j; } cout<<sum<<endl: retuIn 0:

    A.3

    B.10

    C.12

    D.15


    正确答案:D
    解析:每次在外循环i中,sum都被程序赋初值,因此,只有最后一次循环的sum起作用。最后一次循环i=3,sum=3,内循环j=3,4,5,所以sum=3+3+4+5=15。

  • 第10题:

    有以下程序:int f(int b[][4]){int i, j, s=0;for(j=0; j<4; j++){i=j;if(i>2)i=3-j;S+=b[i][j];

    有以下程序: int f(int b[][4]) { int i, j, s=0; for(j=0; j<4; j++) { i=j; if(i>2)i=3-j; S+=b[i][j]; } return s; } main() { int a[4][4]={{1, 2, 3, 4}, {0, 2, 4, 6}, {3, 6, 9, 12}, {3, 2, 1, 0}}; printf("%d\n", f(a)); } 执行后的输出结果是______。

    A.12

    B.11

    C.18

    D.16


    正确答案:D
    解析:f(a)=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。

  • 第11题:

    以下程序输出结果是 ______。includevoid main(){ int a[3][3]={1,3,5,7,9,10,13,1

    以下程序输出结果是 ______。 #include<iostream.h> void main(){ int a[3][3]={1,3,5,7,9,10,13,15,17},sum=0,i,j; for(i=0;i<3:i++) for(j=0;j<3;j++){ a[i][j]=i+j; if(i= =j)sum=sum+a[i][j]; } cout<< "sue="<<sum; }

    A.15

    B.25

    C.6

    D.9


    正确答案:C

  • 第12题:

    以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

    例如,矩阵为:

    3 0 0 3

    2 5 7 3

    1 0 4 2

    则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

    add(int m,int n,int arr[])

    { int i,j,sum=0;

    for(i=0;i

    for(j=0;j<N;J++)

    sum=sum+ (7) ;

    for(j=0;j

    for(i=1; (8) ;i++)

    sum=sum+arr[i*n+j];

    return(sum);

    }


    正确答案:
    3.(7) arr[i*n+j](或者arr[i*10+j])

     (8) i<M-1(或者I<=M-2)

  • 第13题:

    执行下列语句,变量sum的值是______。

    int sum=0;

    for(inti=1;i<=3;i++)

    for(intj=1;j<=i;j++) sum++;


    正确答案:6
    6

  • 第14题:

    给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。

    inClude<coMo.h>

    inClude<stdio.h>

    dehne M 5

    /************fOUnd************/

    int fun(int n,int xx[][])

    {int i,j,sum=0;

    printf("\n The%dx%d matrix:\n"M,M);

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

    { for(j=0;j<M;j++)

    /************found************/

    printf("%f",xx[i][j]);

    printf("\n");

    }

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

    sum+=xx[i][i]+XX[i][[n-i-1];

    return(sum);

    }

    main( )

    {int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),

    {6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

    clrscr( );

    printf("\n The sum Of all elements On 2 diagnals is %d."fun(M,aa));

    }


    正确答案:int fun(int nint xx[][]) 改为 int fun(int nint xx[][M)) printf("%fxx[i][j]); 改为 printf("%d"xx[i][j]);
    int fun(int n,int xx[][]) 改为 int fun(int n,int xx[][M)) printf("%f,xx[i][j]); 改为 printf("%d,"xx[i][j]); 解析:二维数组作为函数形参时,二维长度不可缺省,只能省略一维的长度。在格式输出函数中,血型数据输出时对应的控制符是%d.

  • 第15题:

    下面程序执行的结果是【 】。 include using namespace std; void main(){ int sum=0; i

    下面程序执行的结果是【 】。

    include <iostream>

    using namespace std;

    void main(){

    int sum=0;

    int array[6]={1,2,3,4,5,6};

    int *p;

    p=&array[0];

    for(int i=0;i<6;i++){

    sum=sum+*p;

    p++;

    }

    cout<<sum;

    }


    正确答案:21
    21 解析:本题用数组地址来访问数组内容,通过数组指针来操作数组内容,依次取出数组内容进行加和,然后进行输出。

  • 第16题:

    有以下程序 void fun{int *a,int i,int j) { int 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个参数,参数a为一个指针变量,接收的实参可以是数组名,参数i和j分别表示数组元素的下标,当下标i小于下标j时,a[i]和a[j]交换,然后对自身进行调用,可见这是一个递归函数。其实现的功能是把数组a,从下标为i的元素到下标为i的元素之间的所有元素反序存放。在主函数中调用fun()函数,把a数组从a[0}到a[5]之间的所有元素反序存放,最后输出从a[0]到a[5]的值,因此输出的值为6、5、4、3,2、1,所以,A选项为所选。

  • 第17题:

    有以下程序: void fun( int *a, int i, int j) { int 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.654321

    B.432156

    C.456123

    D.123456


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

  • 第18题:

    有下列程序: int fun(int x[],int n) { static int sum=0,i: for(i 0;i<n;i++) sum+=x[i]; return sum; } main { int a[]={1,2,3,4,5),b[]一{6,7,8,9),s=0: s=fun(a,5)+fun(b,4);printf("%d\n",s): } 程序执行后的输出结果是( )。

    A.45

    B.50

    C.60

    D.55


    正确答案:C
    在函数intfun(intxE],intn)的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数intfun(intx[],intn)的功能是求出数组X[]各个元素的和,所以在j三函数中,调用函数fun(a,5)后,变量sum=1+2+3+4+5=15,当再次调用fun(b,4)后,变量sum=15+6+7+8+9=45,所以S=l5+45=60。

  • 第19题:

    下面程序用于计算矩阵的两条对角线上的元素之和。补充下列语句,实现该功能。

    include<iostream.h>

    void main(){

    int a[3],[3]={9,8,7,6,5,4,3,2,1};

    int sum1=0,sum2=0,i,j;

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

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

    if(i==j)sum1+=a[i][j];

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

    for(j=2;【 】;j--)

    if(i+j==2)sum2+=a[i][j];

    }


    正确答案:j>=0
    j>=0

  • 第20题:

    执行下列程序,其输出为( )。 int Sum,j; Sum=0; j=0; do{ j++; for(int i=5:i>j;i--). Sum=Sum+(i+j); {while(j<11=; } }

    A.45

    B.50

    C.60

    D.65


    正确答案:C

  • 第21题:

    有以下程序:include int fun(int x[], int n){ static int sum =0,i;for(i=0;i

    有以下程序: #include <stdio.h> int fun(int x[], int n) { static int sum =0,i; for(i=0;i<n;i ++ )sum + =x[i]; return sum;{ int a[] ={1,2,3,4,5},b[]={6,7,8,9},s=0; s = fun(a,5) + fun(b,4) ;printf( "%d \n",s);程序执行后的输出结果是( )。

    A.45

    B.50

    C.60

    D.55


    正确答案:C
    解析:静态变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。在main函数中调用fun(a,5),执行for循环得到sum=0+a[0]+a[1]+a[2]+a[3]+a[4]=15;然后调用fun(b,4),因为sum为静态变量,再次调用时sum保留上次函数调用结束时的值,所以sum:15+b[0]+b[1]+b[2]+b[3]=45;返回sum的值,main函数中输出的s=15+45=60。

  • 第22题:

    下面程序的运行结果是()。include void main(){static int a[][4]={ 1,2,3,4,5,6,7,

    下面程序的运行结果是( )。#include <iostream.h>void main(){static int a[][4]={ 1,2,3,4,5,6,7,8,9,10,11,12};int i, j, sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(j>i)sum+=a[i][j];cout<<sum<<end1;}

    A.24

    B.30

    C.36

    D.40


    正确答案:C

  • 第23题:

    执行下列语句后,变量sum的值是【 】。

    int sum=0;

    for(int i=1;i<=3;i++)

    for(int j=1;j<=i;j++)

    sum++;


    正确答案:6
    6 解析:本题考查的知识点是:for循环的嵌套。题目中外循环会循环3次,每次循环变量i的值分别为1、2、3。而内循环会循环i次,故3次执行内循环,循环的次数分别为1、2、3次。那么,sum总共被增1了6次。故最终sum的值为6。

  • 第24题:

    单选题
    有以下程序:#include int sum(int *array,int len){ if(len == 0)  return array[0]; else  return array[0]+sum(array+1,len-1);}main(){ int i=1,j=3; printf(%d,,i++); {  int i = 0;  i+=j*2;  printf(%d,%d,,i,j); } printf(%d,%d,i,j);}程序运行后的输出结果是(  )。
    A

    1,6,3,1,3

    B

    1,6,3,2,3

    C

    1,6,3,6,3

    D

    1,7,3,2,3


    正确答案: B
    解析:
    程序执行过程为:输出i=1,之后i自增,得i=2;然后执行复合语句,赋值i=0,执行语句i+=j*2;得i=6;输出i=6,j=3;花括号内的i的作用域仅限于该花括号内,在括号外的i为程序第四行定义的i,这两个i属于不同的变量。之后再输出i=2,j=3。答案选择B选项。