江苏省计算机二级visual C++ 历年真题及答案
把a所指数组中的次大值放在a[3]中,其余依次类推,直至将数组中数据依次处理完为止 例如:把a所指向数组中的数据最初排列为:5,1,3,2,9,7,6,8,4.按以上规则移动数组中的数据后,数据的排列为:1,9,2,8,3,7,4,6,5 #include <iostream.h> #define N 9
void fun(int *a, int n) {
int max, min, px, pn, t;
for( int i=0; i<n-1; ___23______){ max=min=a[i]; px=pn=i;
for(int j=i+1; j<n; j++){ if(max<a[j]){ max=a[j]; px=j; }
if(min>a[j]){ min=a[j]; pn=j; } }
if(pn!=i){ t=a[i]; a[i]=min; ____24_____
if(px==i) px=pn; }
if( 25 ){ t=a[i+1]; a[i+1]=max; ( 26 ) } } }
void main(void) {
int b[N]={5,1,3,2,9,7,6,8,4};
cout<<‖数组中的数据依次为:‖<<endl; for(int i=0; i<N; i++) cout<<b[i]<<‘\t‘; cout<<endl; fun(b,N);
cout<<‖处理后数组中的数据依次为:‖<<endl;