网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
单选题
设有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选项。
本题使用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选项。
更多 “单选题设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是( )。A for(i=0;in/2;i++){ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t;}B for(i=0;in;i++){ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t;}C for(i=0;in/2;i++){ t=x[i]; x[i]=x[n-i+1]; x[n-i+1]=t;}D for(i=0;in/2;i+=2){ t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t;}” 相关考题
考题
以下程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。main( ){ int x[10],a[9], i ;for (i=0;i10;i++)scanf("%d",x[i]);for( 【 14 】 ;i10;i++)a[i-1]=x[i]+ 【 15 】 ;for(i=0;i9;i++) printf("%d",a[i]);printf("\n");}
考题
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){int x[10],a[9],I;for (i=0;i10;i++)scanf(“%d”,x[i]);for( i=__;i10;i++)a[i-1]=x[i]+ x[i-1] ;for(i=0;i9;i++)printf(“%d”,a[i]);printf(“\n”);
考题
以下程序的输出结果是 【 11 】 。#include stdio.hint fun(int x){ static int t=0;return(t+=x);}main(){ int s,i;for(i=1;i=5;i++) s=fun(i);printf("%d\n",s);}
考题
阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【说明】程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。【程序】define N 10main(){void (1);int i,a[N];for(i=0;i<10,i++) /*输入*/scanf(“%d”,a[i]);(2);for(i=0;i<N,i++) /*输出*/printf(“%3d”,a[i]);}void selectSon(int x[],int n){int i,j,k,t;for(int i=0; (3);i++){k=i;for(j=i+1;j<n;j++)if (4) k=j;if (5){t=x[i];x[i]=x[k];x[k] =t;}}}
考题
有以下程序 void fun(int*a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\n"); } 程序运行后的输出结果是A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 2
考题
有以下程序 main(){intx[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i=i;j--) if(x[
有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j];x[j+1];x[j+1]=k;} for(i=0;i<8;i++)printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是A.75310246B.1234567C.76310462D.13570246
考题
请选出以下程序的输出结果#includestdio.hmain(){ int a[]={1,2,3,4},i;int x=0;for(i=0;i4;i++){ sub(a,x);printf("%d",x);}printf("\n");}sub(s,y)int *s,y;{ static int t=3;y=s[t];t--; }A.1 2 3 4B.4 3 2 1C.0 0 0 0D.4 4 4 4
考题
在下面程序横线处填上适当内容,使得程序的输出为9876。include using namespace std;te
在下面程序横线处填上适当内容,使得程序的输出为9876。include <iostream>using namespace std;template<class T>void f(【 】){T t;for (int i=0;i<n/2;i++){t=a Ii];a [i]=a[n-1-i];a [n-1-i]=t;}}int main ( ){int x[]={6,7,8,9};f(x,4);for (int i=0;i<4;i++)cout<<x[i];cout<<end1;return 0;}
考题
下列程序的输出结果是______。 include template T max(T x[],int n) { int
下列程序的输出结果是______。include<iostream.h>template<class T>T max(T x[],int n){int i;T maxv=x[0];for(i=1;i<n;i++)if(maxv<x[i])maxv=x[i];return maxv;}void main( ){int a[]={3,2,7,6,8,9};double b[]={1.2,3.4,2.5,7.3,6.8};cout<<max(a,4)<<","<<max(b,3)<<endl;}
考题
有以下程序: void fun(int *a,int i,int i) { int t; if(i<j) { t==a[i];a[i]=a[j];a[i]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8),i; fun(x,0,3), for(i=0;i<4;i++) printf("%2d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。A.1268B.8621C.8162D.8612
考题
以下程序的输出结果是【 】。include int fun(int x) {static int t=0; return(t+=x); }
以下程序的输出结果是【 】。include <stdio.h>int fun(int x){ static int t=0;return(t+=x);}main()int s,i;for(i=1 ;i<=5;i++) s=fun(i);printf("%d\n",s);
考题
请选出以下程序的输出结果includemain(){ int a[]={1,2,3,4},i;int x=0;for(i=0;i
请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x);} printf("\n");} sub(s,y) int*s,y; { static int t=3; y=s[t];t--; }A.1 2 3 4B.4 3 2 1C.0D.4444
考题
有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i=i;
有以下程序main( ){ int x[ ]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for (j=2;j>=i;j--)if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}for (i=0;i<3;i++)if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}for (i=0;i<8;i++) printf("%d",x[i]);printf("\n");}程序运行后的输出结果是:A.75310246B.1234567C.76310462D.13570246
考题
有以下程序:include void fun(iht * a,int i,int j){int t;if(i
有以下程序:#include <stdio, h>void fun(iht * a,int i,int j){ int t; if(i < j) { t=a[i];a[i] =a[j] ;a[j]=t; i++;j--; fun(a,i,j);main ( ) int x[ ]: {2,6,1,8} ,i; fun(x,0,3); for( i=0;i <4;i ++ ) printf( "%2d" ,x[i] ); printf(" \n");A.1268B.8621C.8162D.8612
考题
以下程序的输出结果是( )。 void fun(int*a,int i,int i) {int t; if(ii) { t=a[i[;a[i]=a[j];a[j]一t; i++;j--;fun(a,i,j); } } main { int K[]={2,6,1,8},i; fun(x,0,3); for(i=0;i1;i++)printf("%2d",x[i]); printf("\n"); }A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
考题
有以下程序#include stdio.hvoid exch(int t[ ]){ t[0]=t[5]; }main( ){ int x[10]={1,2,3,4,5,6,7,8,9,10),i=0;while(i=4){ exch(x[i]); i++; }for( i=0; 15;i++) printf(”%d",x[i]);.printf( "\n");}程序运行后输出的结果是A) 2 4 6 8 10B) 1 3 5 7 9C) 1 2 3 4 5D) 6 7 8 9 10
考题
下列程序的输出结果是______。include<iostream.h)template<class TTmax(T x[],int n){int i;T maxv=x[0];for(i=1;i(n;i++)if(maxv maxv=x[i];return maxv;}void main(){inta[]={3,2,7,6,8,9};double b[]={1.2,3.4,2.5,7.3,6
考题
使用VC6打开考生文件夹下的工程RevProj10。此工程包含一个源程序文件RevMain10.cpp。在该文件中,函数fun的功能是:计算出数组x中的最小值与次最小值,并分别将其与x[0]、x[1]交换。请改正程序中的错误,使它能得到正确结果。注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。源程序文件RevMain10.cpp中的程序清单如下://RevMain10.cppinclude <iostream>using namespace std;define N 30int fun(int *x, int n);int main (){int h[N]={4,7, 6, 5, 1, 7,3, 8,0,2,3};int i;for (i=0; i<11; i++)cout<<h [i] << " " ;cout <<"/n";fun(h, 11);for (i=0; i<n; i++)cout<<h [i]<<" ";cout<<' \n';return 0;}int fun(int *x, int n){int i,t;int a1=0, a2=0,min1=32767,min2=32676;/* * * * *FOUND * * * * */for(i=1;i<n;i++){if (x [i]<min1){min2=min1;a2=a1;min1=x [i];a1=i;}else if (x [i] <min2){min2=x [i];a2=i;}}/* * * * *FOUND * * * * */t=x[0];x[a1]=x[0];x[a1]=t;/* * * * *FOUND * * * * */t=x[1] ;x[a2]=x[1];x[a2]=t;}
考题
有以下程序main(){ int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i3;i++) for(j=2;j=i;j--) if(x[j+1]x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i3;i++) for(j=4;j7-i;j++) if(x[j]x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i8;i++) printf("%d",x[i]); printf("\n");}程序运行后的输出结果是A.75310246 B.01234567 C.76310462 D.13570246
考题
有以下程序:main(){int x[]={1,3,5,7,2,4,6,0),i,j,k;for(i=0;i=i;j--)if( x[j
有以下程序: main() { int x[]={1,3,5,7,2,4,6,0),i,j,k; for(i=0;i<3;i++) for(j=2;i>=i;j--) if( x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。A.7.53102e+007B.01234567C.7.63105e+007D.1.35702e+007
考题
以下程序段的输出结果是【 】。int x, i ;for (i=1; i<=100; i++){ x=i;if (++x%2==0)if (++x%3==0)if(++x%7==0) cout<<i<<' , ';}
考题
有以下程序:inelude main( ){int i,j,x=0;for(i=0;i
有以下程序:#inelude <stdio.h>main( ){ int i,j,x=0; for(i=0;i<2;i++ ) { x++; for(j=0;j<=3;j ++) { fi(j%2) continue; x++; x++; } pfinff( "x = % d\n",x);} 程序执行后的输出结果是( )。A.x=4B.x=8C.x=6D.x=12
考题
有以下程序: #includestdio.h void exch(int t[]) { t[0]=t[s];} main( ) { int x[10]={1,2,3,4,5,6,7,8,9,10},i=0; while(i=4){exch(x[i]);i++;} for(i=0;i5;i++)printf("%dl"x[i]); printf("\n"); } 程序运行后输出的结果是( )。A.2 4 6 8 10B.1 3 5 7 9C.1 2 3 4 5D.6 7 8 9 10
考题
有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[j]; a[i]=a[j]; a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i:0;i<4;i++) printf("%2d",x[i]); } 程序运行后的输出结果是______。A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 2
考题
有以下程序: void fun(int *a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; fun(a,ij); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\"n); } 程序运行后的输出结果是( )。A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 2
考题
有以下程序:main(){int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i=i;j--)if(x[j+
有以下程序: main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。A.75310246B.1234567C.76310462D.13570246
考题
试题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”);}
热门标签
最新试卷