
C++一维数组及解答.pdf
4页第 1 题: 编写程序,从任意n 个数中找出最大 数和最小数,并将它们相互交换后输 出输入分 2 行:第一行为 n 的值, 第二行为 n 个数样例输入:51 5 3 2 0样例输出: 1 0 3 2 5 第 1 题: #include int main( ) { int i , n , a[100] , max , min , maxi , mini , t ; cin >> n ; for( i = 0 ; i > a[i] ; max = min = a[0] ; maxi = mini = 0 ; for( i = 1 ; i max ) { maxi = i ; max = a[maxi] ;} if( a[i] a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} } for(i=n-1;i>=0;i--) {cout int main() {int a[100],n,i,j,t; cin>>n; for(i=0;i>a[i];} 第 3 题: 编写程序,利用折半查找法从一个升 序排列的数列中查找某数是否存在, 如果存在则输出该数的下标,否则输 出 NO 。
输入分 3 行:第一行为 n 的值, 代表数列中数的个数,第二行为n 个 数(升序排列),第三行为要查找的 数样例输入:50 1 2 3 53样例输出: 3样例输入:50 1 2 3 54 样例输出: NO 第 3 题: #include int main() {int l=0,h,m,k,a[100],i,n; cin>>n;h=n-1; for(i=0;i>a[i];} cin>>k; while(lk){h=m-1;} if(a[m]h)cout int main() {int a[100],i,n,t; cin>>n; for(i=0;i>a[i];} t=a[0]; for(i=0;i int main() {int a[100],i,n ,k,sum; cin>>n; for(i=0;i>a[i];} for(i=0;i int main() {int a[100],n,i;double sum,k,x; cin>>n; for(i=0;i>a[i];} for(k=0,sum=0,i=0;i int main( ) { int i ,sum, a[100] = { 1 , 1 },n ; cin>>n; sum=0; for(i=2;i int main() {int a[100],i,n,m; cin>>n; for(i=0;i>a[i];} cin>>m; for(i=0;i int main() {int a[100],n,i,w,t,j,m; cin>>n; w=0; t=0; for(i=0;n>0;i++,w=0) {w=n%10; a[i]=w; n=n/10; t++; } for(j=0;ja[i+1]) {m=a[i];a[i]=a[i+1];a[i+1]=m;} } for(i=t-1;i>=0;i--) {cout int main( ) { int a[100] , i , t ,n; cin>>n; for(i=0;i>a[i];} for( i = 0 ; i < n/2 ; i++ ) { t = a[i] ; a[i] = a[n-1-i] ; a[n-1-i] = t ; } for( i = 0 ; i < n ; i++ ) cout << a[i] << “ “ ; return 0 ; } 。