程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言數組倒序排列問題

c語言-C語言數組倒序排列問題

編輯:編程綜合問答
C語言數組倒序排列問題

#include

int main(){
void inv(int x[],int n);
int i,a[10]={1,2,3,4,5,6,7,8,9,0};
for(i=0;i<10;i++)printf("%d\n",a[i]);

  inv(a,10);
  printf("after change:\n");
  for(i=0;i<10;i++)printf("%d\n",a[i]);

  return 0;

}

void inv(int x[],int n){
int temp,i,j,m = n-1/2;
for(i=0;i<=m;i++){
j = n-1-i;
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
return;
}

代碼如圖,想要把數組倒序排列,可是沒有實現。還有想請問在INV的for循環裡可不可以換成,for(i=0,j=n-1;i<=m;i++,j--)?如果不可以是為什麼噢?

萬分感謝!

最佳回答:


第一: 將 #include 改為 #include
第二:將 m = n-1/2 改為 m = (n-1)/2
只要將第一個和倒數第一個
第二個和倒數第二個
第三個和倒數第三個
。。。。
進行交換就行
當正數n和倒數的n相同時,就不能在繼續交換了,否則就會得到沒有交換的結果。
例如:有三個數據要交換
你只要交換第一個和倒數第一個就可以了,中間一個可以不交換
即可!!!!!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved