1. 程式人生 > >用不同的方法將n個數按輸入順序的逆序排列

用不同的方法將n個數按輸入順序的逆序排列

用指標實現: void sort(int *p,int n) { int *p1,*p2,temp; for(int i=0;i<n/2;i++) { p1=p+i; p2=p+(n-1-i); temp=*p1; *p1=*p2; *p2=temp; } } int main() { int n,*p,num[20]; cin>>n; for(int i=0;i<n;i++) { cin>>num[i]; } p=&num[0]; sort(p,n); for(i=0;i<n;i++) { cout<<num[i]<<" "; } return 0; } 用陣列實現:  int sort(int a[]) { int j,b[5]; for(int i=0;i<5;i++) { j=4-i;     b[j]=a[i]; } for(int k=0;k<5;k++) { cout<<b[k]<<","; } return 0; } int main() { int a[5]; for(int i=0;i<5;i++) { cin>>a[i]; } sort(a); return 0; } 延伸:使輸入的一個字串按反序存放 int sort(char str[]) { char t; int j=strlen(str); for(int i=0;i<j/2;i++) { t=str[i]; str[i]=str[j-i-1]; str[j-i-1]=t; } return 0; } int main() { char str[100]; cin>>str; sort(str); cout<<str<<endl; return 0; }