单选题若有以下程序段,则数组b中列下标为偶数的元素之和是() int a[12],b[3][4],i,j; for(i=0;i12;i++)a[i]=i+1;for(i=0;i3;i++) for(j=0;j4;j++)b[i][j]=a[i*4+j]A42B15C36D24
单选题
若有以下程序段,则数组b中列下标为偶数的元素之和是() int a[12],b[3][4],i,j; for(i=0;i<12;i++)a[i]=i+1;for(i=0;i<3;i++) for(j=0;j<4;j++)b[i][j]=a[i*4+j]
A
42
B
15
C
36
D
24
参考解析
解析:
暂无解析
相关考题:
试题二(共 15分)阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明 1】函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即21)、w[1]中存入4(即22)、w[2]中存入16(即24)。【C函数 1】int Counter(int n, int w[]){ int i = 0, k = 1;while ( (1) ) {if (n % 2) w[i++] = k;n = n / 2; (2) ;}return i;}【说明 2】函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。【C函数 2】void Smove(int A[], int n){ int temp, i = 0, j = n-1;if ( n 2 ) return;while ( i j ) {if ( A[i] % 2 == 1 A[j] % 2 == 1 ) { (3) ; }else if ( A[i] % 2 == 0 A[j] % 2 == 0 ) { (4) ; }else {if ( (5) ) {temp = A[i]; A[i] = A[j]; A[j] = temp;}i++, j--;}}}
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空完成此程序。include <iostream>include <string>using namespace std;int main ( ){char a[]="changuage",t,m;int i,j,k;k=strlen(A) ;for (i=0; i<=k-2; i+=2){m=i;for (j=i+2; j<=k;【 】)if (a[m] >a [j]m=j;if(【 】){ t=a[i];a[i]=a[m];a [m] =t;}}cout<<a<<end1;return 0;}
若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i3;i)p[i]=a[i*4];pp=p;则对数组元素的错误引用是A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)
下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。 main() {int a[2][3]={{1,2,3},{4,5}},b[3][2],i,j; for(i=0;i<2;i++) {for(j=0;j<3;j++) ( ); } }
以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处的语句为( )。 fun(int*a, int n) { int i,j=0,k; k=j; for(i=j;i<n;i++) if[a[i]>a[k])______; return(k); }A.k=iB.k=jC.i=jD.i=n
若有程序片段: int a[12]={0},* p[3],* *pp,i for (i=0;i<3;i++) p[i]=a[i*4]; pp=p; 则对数组元素的错误引用是 ( )A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)
若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i=0 j--;} a[j+1]=t; } …… 则该程序段的功能是( )。 A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)
以下程序段是函数返回a所指数组中最小的值所在的下标值,请在下划线处填空。fun(int *a,int n){int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]) 【 】;return(p);}
若有以下程序:include using namespace std;int main(){ int a[4] [4] = {{1,2,3,-4} 若有以下程序: #include <iostream> using namespace std; int main() { int a[4] [4] = {{1,2,3,-4},{0,-12,-13,14}, {-21,23,0,-24},{-31,32,-33,0}}; int i,j,s = 0; for(i=0;i<4;i++) { for(j=O;j<4;j++) { if(a[i] [j] >=0) continue; s+=a [i] [j]; } } cout<<s<<end1; return 0; } 执行后的输出结果是( )。A.-138B.141C.75D.-1
下列程序用来判断数组中特定元素的位置所在,则输出结果为()。includeinclude 下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include<conio.h> #include<iostream.h> int fun(int*p,int n,int*j) {int i; *j=0; for(i=0;i<n;i++) if(p[*j]<p[i])*j=i; return p[*j];} void main() {int a[10]={1,3,9,0,8,7,6,5,4,2)j;int j; fun(a,10,j); cout<<j<<','<<a[j];}A.2,9B.3C.9D.3,9
下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。include<iostream.h>include<string.h>void main( ){ char a[ ] ="clanguage", t;int I ,j, k;k=strlen(a) ;for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k; _____)if(_____){ t=a[i] ;a[i] =a[j] ;a[j] =t; }cout < < a;cout < < endl;}
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)A.*(a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。 (o<=i<4,0<=j<=10A.*(a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为( )。A.(q+i)[j]B.*q[i][j]C.*(*q[i]+j)D.*(*(q+i)+j)
若有以下程序段,其中0=i4,0=j3,则不能正确访问a数组元素的是()int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a; A.*(*(a+i)+j)B.p[i][j]C.(*(p+i))[j]D.p[i]+j
若有以下程序main(){ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; int i,j,s=0; for(i=0;i4;i++) { for(j=0;j4;j++) { if(a[i][j]0) continue; if(a[i][j]==0) break; s +=a[i][j]; } } printf("%d\n",s);}程序执行后的输出结果是
下面程序段的功能是()。……int a[]={4,0,2,3,1},i,j,t;for(i=0;=0 下面程序段的功能是( )。 …… int a[]={4,0,2,3,1},i,j,t; for(i=0;<5;i++) { t=a[i];j=i;j--; while(j>=0t>a[j]) {a[j+1]=a[j];j--;} a[j+1] =t; } ……A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)
若有定义:int a[4][10];,则以下选项中对数组元素a[i][i]引用错误的是______。(0<=i<4,0=i<10)A.*(&a[0][0]十10*i+j)B.*(a+i)+jC.*(a+i)+j)D.*(a[i]+j)
下面程序的功能是 : 将 N 行 N 列二维数组中每一行的元素进行排序 , 第 0 行从小到大排序 , 第 1 行从大到小排序,第 2 行从小到大排序,第 3 行从大到小排序,例如:define N 4void sort(int a[][N]){ int i, j, k, t;for (i=0; iN;i++)for (j=0; jN-1:j++)for (k= 【 13 】 ; kN;K++)/* 判断行下标是否为偶数来确定按升序或降序来排序 */if ( 【 14 】 ? a[i][j]a[i][k]); a[i][j]a[i][k]){ t = a[i][j];a[i][j]=a[i][k];a[i][k] = t;}}void outarr(int a[N][N]){ …… }main(){ int aa[N][N]={{2,3,4,1},{8,6,5,7},{11,12,10,9},{15,14,16,13}};outarr(aa); /* 以矩阵的形式输出二维数组 */sort(aa);outarr(aa);}
以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }
以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)例如,矩阵为:3 0 0 32 5 7 31 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;ifor(j=0;jN;J++)sum=sum+ (7) ;for(j=0;jfor(i=1; (8) ;i++)sum=sum+arr[i*n+j];return(sum);}
以下程序执行的结果是什么?() int[] myArray = new int[3]; try{ for(int i=0; i=myArray.length;i++){ myArray[i]=i*3; System.out.println("myArray数组的第"+i+"个元素的值是:"+myArray[i]); } }catch(ArrayIndexOurOfBoubsException e){ System.out.println("数组下标越界");} A、程序执行,屏幕上显示“数组下标越界”B、程序出现异常,屏幕上提示出现数组下标越界异常C、程序正常执行结束,屏幕上显示数组中每个元素的值D、程序编译出错
若有以下程序段,其中0=i4,0=j3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;A、*(*(a+i)+j)B、p[i][j]C、(*(p+i))[j]D、p[i]+j
单选题若有以下程序段,其中0=i4,0=j3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;A*(*(a+i)+j)Bp[i][j]C(*(p+i))[j]Dp[i]+j