单选题设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是(  )。Afor(i=0;in/2;i++){ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t;}Bfor(i=0;in;i++){ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t;}Cfor(i=0;in/2;i++){ t=x[i]; x[i]=x[n-i+1]; x[n-i+1]=t;}Dfor(i=0;in/2;i+=2){ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t;}

单选题
设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是(  )。
A



for(i=0;i<n/2;i++)
{
 t=x[i];
 x[i]=x[n-i-1];
 x[n-i-1]=t;
}

B



for(i=0;i<n;i++)
{
 t=x[i];
 x[i]=x[n-i-1];
 x[n-i-1]=t;
}

C



for(i=0;i<n/2;i++)
{
 t=x[i];
 x[i]=x[n-i+1];
 x[n-i+1]=t;
}

D



for(i=0;i<n/2;i+=2)
{
 t=x[i];
 x[i]=x[n-i-1];
 x[n-i-1]=t;
}


参考解析

解析:
本题使用for循环实现数组元素首尾倒置。A项中控制变量上限为n/2,用变量t实现数组下标值i与n-i-1的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A项正确。B项控制变量上限为n,用变量t实现数组下标值i与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B项错误。C项数组越界,i=0时x[n+1]不存在,C项错误。D项控制变量每次加2,实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,D项错误。答案选择A选项。

相关考题:

从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。

有n个数存放在一维数组A[1,n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同()A.对B.错

以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。请按题意,完成填空。试题程序:#include conio.h#include stdio.hvoid fun (int x, int pp[], int *n){ int i,j=0;【13】if(x%i==0)pp[j++]=i;【14】;}main (){ int? x,aa[1000], n, i ;clrscr();printf("\nPlease enter an integer number : \n "); scanf ("%d ", x);fun (x, aa, n);for (i=0 ; in ; i++)printf ("%d ", aa [i]);printf ("\n ");}

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【程序2.1说明】已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。【程序2.1】include <stdioh>define N 100void main(){float a[N+l],x;int i,p;printf("输入已经排好序的数列: ");for(i=0; i<N; i++)scanf(%f",a[i]);printf("输入要插入的数:");scanf("%f",x);for(i=0,p=N; i<N; i++)if(x<a[i]){(1)break;}for(i=N-1; i>=p; i--)(2)(3)for(i=0; i<=N; i++)prinff("%f\t",a[i]);}【程序2.2说明】本程序用变量count统计文件中字符的个数。【程序2.2】include <stdio.h>include <stdlib.h>void main(){FILE *fp;long count=0;if((fp=fopen("letter.txt","r"))==NULL){printf("can not open file\n");exit(0);}while(!feof(fp)){(4)count++;}printf("count=%d\n",count);(5)}

请编写函数void fun(int x, int pp[], int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在即所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为30,则有4个数符合要求,它们是1, 3,5,15。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>void fun (int x, int pp[], int *n){}main(){int x,aa[1000], n, i ;clrscr();printf("\nPlease enter an integernumber : \n ") ;scanf ("%d", x) ;fun (x, aa, n) ;for (i=0 ; i<n ; i++)printf ("%d ", aa [i]);printf ("\n ") ;}

请编写函数void fun (int x,int pp[],int *n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x中的值为24,则有6个数符合要求,它们是2, 4, 6, 8, 12, 24。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio.h>include<stdio.h>void fun(int x,int PP[],int *n){}main (){int x,aa[1000],n,i;clrscr() ;printf("\nPlease enter an integer number:\n ") ;scanf("%d",X);fun(x,aa,n);for(i=0;i<n;i++)printf("%d",aa[i]);printf("\n");}

读下面的流程图,其最后结果是(7)。A.将X,Y,z按从大到小的顺序排序B.将X,Y,z按从小到大的顺序排序C.将X,Y,Z中的最大值赋给WD.将X,Y,Z中的最小值赋给W

阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。【说明】假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5, 6,7,9;数组B中有元素2,3,4,7:则数组C中将有元素:2,2,3,4,5,6,7, 7, 9。【流程图】

若将N阶对称矩阵A按照行序为主序方式将包括主对角线元素在内的下三角形的所有元素依次存放在一个一维数组B中,则该对称矩阵在B中占用了(40)—个数组元素。(40)A.N2B.N×(N-1)C.N×(N+1)/2D.N×(N-1)/2

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。[C函数1]void fun(char*W,char x,int*n){ int i,P;p=0;w[*n]=x;while(x>w[p]) (1) ;for(i=*n,i>p;i--)w[i]=(2);w[p]=x;++*n;}[说明2]函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。[C函数2]void revstr(char*s){ char*p,c;if(s==NULL)return;p=(3); /*p指向字符串s的最后一个有效字符*/while(s<p){ /*交换并移动指针*/C=*s;(4)=*p;(5)=c;}}

对两个数组a和b进行下列初始化: A.数组m与数组n完全相同B.数组m与数组n长度相同SXB 对两个数组a和b进行下列初始化:A.数组m与数组n完全相同B.数组m与数组n长度相同C.数组m比数组n长1D.数组m与数组n中都存放字符串

已知N个数已存入数组A[1..M)的前N个元素中(N<M),为在A[i](1≤i≤N)之前插入一个新数,应先(37),以挪出一个空闲位置插入该数。A.从A[i]开始直到A[1],每个数向后移动一个位置B.从A[1]开始直到A[i]小每个数向后移动一个位置C.从A[i]开始直到A[N],每个数向前移动一个位置D.从A[N]开始直到A[i]小每个数向后移动一个位置

请编写函数void proc(int X,int pp[],int*n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若X中的值为50,则有3个数符合要求,它们是1,5,25。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:

请编写函数void proc(int x,int pp[],int*n),它的功能是:求出能整除x且不是偶数、不为1的各整数,并按从大到小的顺序放在PP所指的数组中,这些除数的个数通过形参n返回。例如,若x的值为30,则有3个数符合要求,它们是15,5,3。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

请补充函数proc(),该函数的功能是把数组num中的数按从小到大的顺序排列(数组元素个数及值从主函数中输入)。例如,输入n=5,num[0]~num[4]依次为5 7 2 8 0,结果为0 2 5 7 8。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。试题程序:

设有一个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

试题一(共 15 分)阅读以下说明和流程图,填补流程图中的空缺(1)~(9) ,将解答填入答题纸的对应栏内。[说明]假设数组 A 中的各元素 A(1),A(2) ,…,A(M)已经按从小到大排序(M≥1) ;数组 B 中的各元素 B(1),B(2),…,B(N)也已经按从小到大排序(N≥1) 。执行下面的流程图后, 可以将数组 A 与数组 B 中所有的元素全都存入数组 C 中, 且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序) 。例如,设数组 A 中有元素:2,5,6,7,9;数组B 中有元素:2,3,4,7;则数组 C 中将有元素:2,2,3,4,5,6,7,7,9。[流程图]

试题14以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。#include stdio.hvoid fun(int s[], int *n, int k, int x){ int i;for(i=*n-1; i=k; i- - ) s[ ___ ]=s[i];s[k]=x;*n=*n+______;}main(){ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;fun(a, n, k, x);for(i=0; in; i++) printf(“%4d”,a[i]); printf(“\n”);}

阅读下列说明和流程图,填补流程图中的空缺(1)~(9),将解答填入答题纸的对应栏内。【说明】假设数组A中的各元素A⑴,A (2),…,A (M)已经按从小到大排序(M>1):数组B中的各元素B(1) , B (2) . B (N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素: 2,5,6,7,9;数组B中有元素: 2,3,4,7;则数组C中将有元素: 2,2,3,4,5,6,7,7,9.

设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。

设有一个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[n]表示的顺序栈中,该栈所含元素的个数最少为()个,最多为()个

在数组中对于for和foreach语句,下列那些选项中的说法不正确?()A、foreach语句能使你不用索引就可以遍历整个数组B、foreach语句总是从索引1遍历到索引LengthC、foreach总是遍历整个数组D、如果需要修改数组元素就必须使用for语句

在数组中对于for和foreach语句,下列哪些选项中的说法不正确?()。A、foreach语句能使你不用索引就可以遍历整个数组B、foreach语句总是从索引1遍历到索引LengthC、foreach总是遍历整个数组D、如果需要修改数组元素就必须使用for语句

设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。A、O(n)B、O(nlog2n)C、O(1)D、O(n2)

问答题编一个程序,定义一个有10个元素的一维数组a,在键盘上输入时没有大小次序,但是存入数组时要按由小到大的顺序存放。例如,输入第1个数1时,存入a[0];假如第2个数是5,则数存入a[1];假如第3个数是4,那么把前面输入的5向后面移动到a[2],把4插入到a[1]的位置上,这样使得每输入一个数,保持从小到大的顺序排列。

填空题在一个用一维数组a[n]表示的顺序栈中,该栈所含元素的个数最少为()个,最多为()个