定义数组AA(N,M),则二维和一维下标的换算关系是AA(I,J)=AA()A、i*M+JB、(i-1)*M+JC、(i-1)*M+ID、i*M+j-I
定义数组AA(N,M),则二维和一维下标的换算关系是AA(I,J)=AA()
- A、i*M+J
- B、(i-1)*M+J
- C、(i-1)*M+I
- D、i*M+j-I
相关考题:
设二维数组A[1...m,1...n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。A.n*(i-1)+jB.n*(i-1)+j-1C.i*(j-1)D.j*m+i-1
请补充函数fun(),该函数的功能是:从键盘输入一个下标n,把数组aa中比元素aa[n]小的元素放在它的左边,比它大的元素放在它的右边,排列成的新数组仍然保存在原数组中。例如,数组aa={33,67,42,58,25,76,85,16,41, 56},输入3。结果输出“33,42,25,16,41,56,58,67,76,85”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仪在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>define N 10void fun(int aa[],int n){int i,j=0,k=0,t;int bb[N];t=aa[n];for(i=0;i<N;i++){if(aa[i]>t)bb[j++]=aa[i];if(aa[i]<t)aa[k++]=aa[i];}【 】;for(i=0;【 】;i++, k++)aa[k]=bb[i];}main(){int i,n;int aa[N]={33,67,42,58,25,76,85,16,41,56};clrscr();printf("\n*** original list ***\n");for(i=0;i<N;i++)printf("%4d"/aa[i]);printf("\n suffix n\n");scanf("%d",n);fun(aa,n);printf("\n*** new list ***\n");for (i=0;i<N; i++)printf("%4d", aa[i]);}
●设数组a[1..n,1.m](n1,m1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为(14)。(14) A. (i-1)*m+j-1B. (i-1)*n+j-1C. (j-1)*m+i-1D. (j-1)*n+i-1
该程序运行的结果是( )。#include#include#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i=m;i++)if(i%7==0||i==0)a[j++]=i;*n=j;}main(){ int aa[M],n,k;clrscr();fun(10,aa,n);for(k=0;kif((k+1) ==0)printf("\n");else printf("M",aa[k]);printf("\n");}
请补充函数fun(),该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:define N 10void fun (int aa [] ){int i, j=0,k=0;int bb [N];for (i=0;i<N; i++){if (【 】)bb [k++] =aa [i];elseaa [ j ++ ] =aa [i];}for(i=0;【 】;i++,j++)aa[j] =bb [i];}main ( ){int i;int aa[N]={33, 67,42,58,25, 76, 85, 16,41,56};clrscr ();printf("\n*** original list ***\n");for (i=0;i<N; i++)printf ("%4d", aa [i] );fun (aa);printf("\n*** new list ***\n ");for (i=0; i<N; i++)printf ("%4d", aa [i] );}
●若二维数组arr[1..M,1..N】的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为 (21)。(21)A. base+((i-1)*M+j-1)*KB.base+((i-1)*N+j-1)*KC.base+((j-1)*M+i-1)*KD.base+((j-1)*N+i-1)*K
● 若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为 (21) 。A.base+((i-1)*M+j-i)*KB.base+((i-1)*N+j-1)*KC.base+((j-1)*M+i-1)*KD.base+((j-1)*N+i-1)*K
请补充函数fun(),该函数的功能是:把数组aa中元素下标为偶数的元素按从小到大重新保存在原数组中,其它元素位置不变。例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“25,67,33,58,41,76,42,16,85,56”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<s tdio. h>define N 10void fun(int aa[]){int i, j, t;for (i=0; i<N;i=i+2){for(【 】; j<N; j=j+2)if (【 】){t=aa [j];aa [j] =aa [i];aa [i] =t;}}}main (){int i;int aa[N]={33, 67,42, 58, 25, 76, 85, 16,41, 56};clrscr ();printf("\n*** original list ***\n");for(i=0; i<N; i++)printf ("%4d", aa [i] );fun (aa);printf("\n*** new list ***\n");for(i=0; i<N; i++)printf ("%4d", aa [i] );}
二维数组A[m,n]按行序为主序存放在内存,每个数组元素占1个存储单元,则元素aij的地址计算公式是( )。A.LOC(aij)=LOC(a00)+[(i-1)*m+(j-1)]B.LOC(aij)=LOC(a00)+[(j-1)*m+(i-1)]C.LOC(aij)=LOC(a00)+[(i-1)*n+(j-1)]D.LOC(aij)=LOC(a00)+[(j-1)*n+(i-1)]
有以下程序: Void f(int a[],iht i,int j) { int t; if(i<j) { t=a[i]; a[i]=a[j]; a[j]=t; f(a,i+1,i-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d" ,aa[i]);printf("\n"); } 执行后输出结果是A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
设有一个m行n列的矩阵存储在二维数组A[1..M,1..n]中,将数组元素按行排列,对于A[i,j](1im,ljn),排列在其前面的元素个数为( )。A.i*(n-1)+jB.(i-1)*n+J-1C.i*(m-l)+jD.(i-1)*m+J-1
设数组 A[ 1..m,1...n.] 的每个元素占用 1 个存储单元,对于数组元素 A[i,j] (1im1jn),在按行存储方式下,其相对于数组空间首地址的偏移量为( );在按列存储方式下,其相对于数组空间首地址的偏移量为( )。A. i*(n-1)+j B. (i-1)*n+j-1 C. i*(m-1)+j D. (i-1)*m+j-1A. j*(n-1)+i B. (j-1)*n+i-1 C. j*(m-1)+iD. (j-1)*m+i-1
设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为(请作答此空);在按列存储方式下,其相对于数组空间首地址的偏移量为( )。A.i*(n-1)+jB.(i-1)*n+j-1C.i*(m-1)+jD.(i-1)*m+j-1
设数组a[1..m,1..n](m>1,n>1)中的元素按行存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤m,1≤j≤n)相对于数组首元素的偏移量为( )。A.(i-1)*m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-1
设有一个m行n列的矩阵存储在二维数组A[1..M,1..n]中,将数组元素按行排列,对于A[i,j](1≤i≤m,l≤j≤n),排列在其前面的元素个数为( ).A.i*(n-1)+jB.(i-1)*n+J-1C.i*(m-l)+jD.(i-1)*m+J-1
设数组a[1..n,1..m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,i≤j≤m)相对于数组空间首地址的偏移量为( )。A.(i-1)*m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-1
若二维数组arr[1…M,1…N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为( )。A.base+((i一1)*M*j-i)*KB.b ase+((i-1)*N+j-1)*KC.baSe+((j-l)*M十i-1)*KD.base+((j-1)*N+i-1)*K
设数组a[1..n,1..m](n>l,m>l)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,i≤j≤m)相对于数组空间首地址的偏移量为(14)。A.(i-1)*m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-1
若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。A.base+((i-1)*M+j-1)*KB.base+((i-1)*N+j-1)*KC.base+((j-1)*M+i-1)*KD.base+((j-1)*N+i-1)*K
设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。A、(i-1)*n+jB、(i-1)*n+j-1C、i*(j-1)D、j*m+i-1
单选题设二维数组A[1.. m,1.. n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。A(i-1)*n+jB(i-1)*n+j-1Ci*(j-1)Dj*m+i-1
单选题设二维数组A[l.m,1..n](即m行n列)按行存储在数组B[1.m*n]中,则二维数组元素Ai,j]在一维数组B中的下标为()。A(i-1)*n+jB(i-1)*n+j-1Ci*(j-1)Dj*m+i-1
单选题设二维数组A[1„m,1„n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。An*(i-1)+jBn*(i-1)+j-1Ci*(j-1)Dj*m+i-1