编程题: 定义一个含N个整数的一维数组。实现:该数组中的前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。宏定义N,其值为小于30的任意值。键盘输入一维数组的N个整数和正整数m。(程序中只能定义和使用一个数组,m<N)
第1题:
此题为判断题(对,错)。
第2题:
已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i]()之前插入一个新数,应先(61),以挪出一个空闲位置插入该数。
A.从A[i]开始直到A[N],每个数向前移动一个位置
B.从A[i]开始直到A[1],每个数向后移动一个位置
C.从A[N]开始直到A[i],每个数向后移动一个位置
D.从A[1]开始直到A[i],每个数向后移动一个位置
第3题:
已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i](1≤i≤N)之前插入一个新数,应先______,以挪出一个空闲位置插入该数。
A.从A[i]开始直到A[1],每个数向后移动一个位置
B.从A[1]开始直到A[i],每个数向后移动一个位置
C.从A[i]开始直到A[N],每个数向前移动一个位置
D.从A[N]开始直到A[i],每个数向后移动一个位置
第4题:
对两个数组a和b进行下列初始化: char m[]1="l234567": char n[]={1,2 ,3,4 ,5,6,7); 则下列叙述正确的是( )。
A.数组m与数组n完全相同
B.数组m与数组n长度相同
C.数组m比数组n长1
D.数组m与数组n中都存放字符串
第5题:
已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i](1≤i≤N)之前插入—个新数,应先(40),以挪出一个空闲位置插入该数。
A.从A[i]开始直到A[1],每个数向后移动一个位置
B.从A[1]开始直到A[i],每个数向后移动一个位置
C.从A[i]开始直到A[N],每个数向前移动一个位置
D.从A[N]开始直到A[i],每个数向后移动一个位置
第6题:
设有一个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
第7题:
假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。()
A对
B错
第8题:
假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0~M-1之间。()
A对
B错
第9题:
从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为(),输出一个二维数组b[m][n]中所有元素值的时间复杂度为()。
第10题:
第11题:
对
错
第12题:
对
错
第13题:
阅读以下说明和C++程序,将应填(n)处的字句写在对应栏内。
[说明]
设计一程序,输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。
[C++程序]
include <iostream.h>
define SIZE 10
void main ( )
{
int data [SIZE];
int m;
cout<<"请输入"<<SIZE<<"个整数:";
for ( m=0;m<SIZE; m++ ) (1);
int j=0,k=0;
for ( int i=1;i<SIZE; i++ )
if ((2)) j=i;
else if ( data[i]<data[k] ) (3);
if (j>0 ) {
int d=data[0];
(4);
data[k]=d;
}
if ( k<SIZE-1 )
{
int d=data [SIZE- 1 ];
data[SIZE- 1 ]=data[j];
(5);
}
cout<<end1<<" 排序后: ";
for ( m=0;m<SIZE; m++ ) cout<<data[m]<<" " ;
}
第14题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
【函数】
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<=n-1;i)
scanf("%d,",&number[i]);
(1);
for(i=0;i<=n-1;i)
printf("%d,",number[i]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=(2);
for(p=array[n-1];(3);p--)
*p=(4);
*array=array_end;
m--;
if(m>0) (5);
}
第15题:
给出以下定义:则正确的叙述为( )。
A.数组m和数组n等价
B.数组m和数组n的长度相同
C.数组m的长度小于数组n的长度
D.数组m的长度大于数组n的长度
第16题:
●设数组a[1..m,1..n](m>1,n>2)中的元素以行为主序存放,每个元素占用1个存储单元,则最后一个数组元素a[m,n】相对于数组空间首地址的偏移量为( )。
A.(m-l)*n+n-l
B.(m-l)*n
C.m*(n-l)
D.m*n
第17题:
对两个数组a和b进行下列初始化:
A.数组m与数组n完全相同
B.数组m与数组n长度相同
C.数组m比数组n长1
D.数组m与数组n中都存放字符串
第18题:
第19题:
假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为M+N。()
A对
B错
第20题:
假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为()。
M*N
略
第21题:
编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。
第22题:
第23题:
第24题:
对
错