( 7 )已知数组 a 中的元素个数为 n ,下列语句的作用是将下标为 i 的元素移动到下标为i - 1 的单元,其中 1 ≤ i < n 。例如,当 n = 4 , a 中原有数据为 1 , 2 , 3 , 4 时,则移动后 a 中元素变为 2 ,3 , 4 , 4 。请将语句补充完整:for (int i=0; i a[i] = a[ 【 7 】 ];

题目

( 7 )已知数组 a 中的元素个数为 n ,下列语句的作用是将下标为 i 的元素移动到下标为i - 1 的单元,其中 1 ≤ i < n 。例如,当 n = 4 , a 中原有数据为 1 , 2 , 3 , 4 时,则移动后 a 中元素变为 2 ,3 , 4 , 4 。请将语句补充完整:for (int i=0; i a[i] = a[ 【 7 】 ];


相似考题

3.阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】函数void rcr(int a[],int n,int k)的功能是:将数组a中的元素a[0]~a[n-1]循环向右平移k个位置。为了达到总移动次数不超过n的要求,每个元素都必须只经过一次移动到达目标位置。在函数rcr中用如下算法实现:首先备份a[0]的值,然后计算应移动到a[0]的元素的下标p,并将a[p]的值移至a[0];接着计算应移动到a[p]的元素的下标q,并将a[q]的值移至a[p];依次类推,直到将a[0]的备份值移到正确位置。若此时移动到位的元素个数已经为n,则结束;否则,再备份a[1]的值,然后计算应移动到a[1]的元素的下标p,并将a[p]的值移至a[1];接着计算应移动到a[p]的元素的下标q,并将a[q]的值移至a[p];依次类推,直到将a[1]的备份值移到正确位置。若此时移动到位的元素个数已经为n,则结束;否则,从a[2]开始,重复上述过程,直至将所有的元素都移动到目标位置时为止。例如,数组a中的6个元素如图1(a)所示,循环向右平移两个位置后元素的排列情况如图1(b)所示。【函数】void rcr(int a[],int n,int k){int i,j,t,temp,count;count=0;/*记录移动元素的次数*/k=k%n;if( (1) ){/*若k是n的倍数,则元素无须移动;否则,每个元素都要移动*/i=0;while(count<n){j=i;t=i;temp=a[i];/*备份a[i]的值*//*移动相关元素,直到计算出a[i]应移动到的目标位置*/while((j= (2) )!=i){a[t]=a[j];t= (3) ;count++;}(4) =temp;count++;(5) ;}}}

更多“( 7 )已知数组 a 中的元素个数为 n ,下列语句的作用是将下标为 i 的元素移动到下标为i - 1 的单 ”相关问题
  • 第1题:

    设有n阶对称矩阵A,用数组s进行压缩存储,当i≥j时,A的数组元素aij相应于数组s的数组元素的下标为()。(数组元素的下标从1开始)
    i(i-1)/2+j

  • 第2题:

    已知二维数组的行下标i=-3,-2,-1,0,…,5,列下标j=0,1,…,10,则该数组含有的元素个数为()

    A.88

    B.99

    C.80

    D.90


    B

  • 第3题:

    设二维数组A[m][n](即行列下标均从1开始),按行存储在数组B[m*n](下标从1开始)中,则二维数组元素A[i][j]在一维数组B中的下标为()

    A.(i-1)*n+j

    B.(i-1)*n+j-1

    C.i*(j-1)

    D.j*m+i-1


    (i-1)*n+j

  • 第4题:

    设有6阶对称矩阵A,其中矩阵元素用a(i,j)表示,i为行下标,i=0,1,...,n-1,j为列下标,j=0,1,...,n-1,将A按照行优先顺序存储下三角元素的方式存储至一维数组B,设每个矩阵元素占2个字节,已知数组B的首地址为100,则,a(1,3)的地址是___


    114

  • 第5题:

    96、数组中第i个元素的下标为()。


    0