688
678
692
696
第1题:
[说明1]
函数void convelt(chal *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如,n=123,在a中的存放为'3'、'2'、'1'。
[C函数1]
void convert(char *a,int n)
{ int i;
if((i=n/10)!=0; convert( (1) ,i);
*a= (2) ;
}
[说明2]
函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。
[C函数2]
int index(char *s,char *t)
{ int i,j=0;k=0;
for(i=0;s[i]!:'\0';i++)
( for( (3) ;(t[k]!='\0')&&(s[j]!='\0')&&( (4) );j++,k++);
if( (5) ) return(i);
}
return(-1);
}
第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++) ( ); } }
第3题:
设有数组A[m,n],数组的每个元素占3个存储单元,m的值为1~8,n的值为 1~10。数组从首地址W开始顺序存放,当以列为主序存放时,元素A[5,8]的存储首地址为(4)。
A.W+222
B.W+225
C.W+141
D.W+180
第4题:
设有二维数组A[0…8,0…9],其中每个元素占2个字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为______。
A.570
B.506
C.410
D.482
第5题:
设有下三角矩阵A[0.. 10,0.. 10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放在基地址为100的数组中,则元素A[5,0]的存放地址为(25)。
A.110
B.120
C.130
D.140
第6题:
●设有二维数组a[1..m,1..n](2<m<n),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元素以行为主序存放,每个元素占用k个存储单元(k>1),则元素a[2,2]的存储位置相对于数组空间首地址的偏移量为(35)。
A.(n+1)*k
B.n*k+l
C.(m+1)*k
D.m*k+l
第7题:
设有一个二维数组A[10][20]按行存放于一个连续的存储空间中,A[0][0]的存储地址是200,每个数组元素占1个存储字,则A[6][2]的存储字地址是(37)。
A.284
B.308
C.322
D.358
第8题:
若二维数组a有m列,且设a[0][0]位于数组的第一个位置上,则计算任意元素a[i][j]在数组中位置的公式为______。
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
第9题:
第10题:
第11题:
设二维数组为M[0‥8,0‥10],每个元素占2L个存储单元,以行序为主序存储,第一个元素的存储位置为P。存储位置为P+50L的元素为()。
第12题:
688
678
692
696
第13题:
( 15 ) 1 个二维数组可以存放 1 个矩形 . 在程序开始有语句 Option Base 0, 则下面定义的数组中正好可以存放 1 个 4*3 矩阵(即只有 12 个元素)的是( )
A ) Dim a ( -2 To 0,2 ) AS Integer
B ) Dim a ( 3,2 ) AS Ingeger
C ) Dim a ( 4,3 ) AS Ingeger
D ) Dim a ( -1 To -4,-1 To -3 ) AS Ingeger
第14题:
:A692(10)
B626(10)
C709(10)
D724(10)
第15题:
一个nxn的对称矩阵A,将其下三角部分按行存放在一个一维数组B中。 A[0][0]存放于B[O]中,那么第i行的对角元素A[i][i]存放于B中(50)处。
A.(i+3)*i/2
B.(i+1)*i/2
C.(2n-i+1)*i/2
D.(2n-i-1)*i/2
第16题:
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。
class InsertSort{
public:
InsertSort(int* a0,int n0):a(a0),n(n0){}//参数a0是某数组首地址,n是数组元素个数
void sort()
{//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]…a[n-1]
for(int i=1;i<n;++i){
int t=a[i];
int j;
for(【 】;j>0;--j){
if(t>=a[j-1])break;
a[j]=a[j-1];}
a[j]==t;}}
protected:
int*a,n;//指针a用于存放数组首地址,n用于存放数组元素个数
};
第17题:
若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设 a[0] [0]位于数组的第一个位置上) ( )。
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
第18题:
设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中( )位置。
A.32
B.33
C.41
D.65
第19题:
设数组a[0.n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为 ( )。
A.(j*m+i)*4B.(i*m+j)*4C.(j*n+i)*4D.(i*n+j)*4
第20题:
设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。
A.j*m+i
B.i*m+j
C.j*n+i
D.i*n+i
第21题:
第22题:
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式是()(假设a[0][0]位于数组的第一个位置上。)
第23题:
M[2,3]
M[2,2]
M[3,3]
M[3,4]
第24题:
872
860
868
864