分析:實現順序的逆置,需要找到數組中的中間的數組,以該數字作為中間點,對應的兩邊的數字交換即可。
#include<iostream>
using namespace std;
int main(){
int a[11];//定義用于存儲數字的數組
int i=0,j=0,k=0;//排序用到的變量
cout<<"please input ten integers:"<<endl;
for(i=1;i<=10;i++){
cin>>a[i];
} //輸入數據
for(i=1;i<10;i++){
k=i;
for(j=i+1;j<=10;j++){
if(a[j]<a[k]){
k=j;
}
}
a[0]=a[i];
a[i]=a[k];
a[k]=a[0];
}
cout<<"sorting order:"<<endl;
for(i=1;i<=10;i++){
cout<<a[i]<<" ";
} //輸出數據
cout<<endl;
cout<<"Reverse order:"<<endl;
i=10;
for(j=1;j<=(i/2);j++){
a[0]=a[j];
a[j]=a[i+1-j];
a[i+1-j]=a[0];
}
for(i=1;i<=10;i++){
cout<<a[i]<<" ";
} //輸出數據
cout<<endl;
return 0;
}
還有一種方法就是,在建立一個數組,直接在賦值過程中完成逆置,即:
<PRE class=cpp name="code">#include<iostream>
using namespace std;
int main(){
int a[11];//定義用于存儲數字的數組 </PRE><PRE class=cpp name="code"> int b[11];
int i=0,j=0,k=0;//排序用到的變量
cout<<"please input ten integers:"<<endl;
for(i=1;i<=10;i++){
cin>>a[i];
} //輸入數據
for(i=1;i<10;i++){
k=i;
for(j=i+1;j<=10;j++){
if(a[j]<a[k]){
k=j;
}
}
a[0]=a[i];
a[i]=a[k];
a[k]=a[0];
}
cout<<"sorting order:"<<endl;
for(i=1;i<=10;i++){
cout<<a[i]<<" ";
} //輸出數據
cout<<endl;
cout<<"Reverse order:"<<endl;
i=10;
for(j=1;j<=i;j++){</PRE><PRE class=cpp name="code"> b[j]=a[i+1-j];
}
for(i=1;i<=10;i++){
cout<<b[i]<<" ";
} //輸出數據
cout<<endl;
return 0;
}
</PRE><BR>
該方法與上面的方法相比,數據的計算步驟減少了,但是增加了系統空間的開銷
<DIV><IMG alt="" src="<img src="http://files.VeVB.COm/file_images/article/201310/201310210857497.jpg" alt="" />"></DIV>
<PRE></PRE>