關於陣列的一些操作!!!
阿新 • • 發佈:2018-12-17
對陣列的一些操作
建立一個數組, 實現函式init()初始化陣列、 實現empty()清空陣列、 實現reverse()函式完成陣列元素的逆置。
程式碼如下
#include<stdio.h> void Init(int arr[], int sz) { /*初始化陣列*/ int i; for(i=0; i<sz ; i++) { arr[i]=2; } /*end of for*/ } /*end of void Init*/ void Empty( int arr[], int sz) { /*將陣列清空*/ int i; for(i=0;i<sz;i++) { arr[i]=0; } /*end of for*/ } void Print(int arr[], int sz) { /*列印函式*/ int i; for(i=0; i<sz; i++) { printf("%d", arr[i]); } /*end of for*/ printf("\n"); } /*end of void Print*/ void Init2(int arr[], int sz) { /*重新對陣列賦初值*/ int i; for (i=0;i<sz;i++) { arr[i]=i; } /*end of for*/ } /*end of void Init2*/ void Reverse(int arr[],int sz) { /*實現逆置*/ int left = 0,right= sz-1; while(left<right) { int tmp=arr[left]; arr [left]=arr [right]; arr [right]= tmp; left++; right--; } /*end of while*/ } /*end of void Reverse*/ int main() { int a[10]={0}; int sz=sizeof(a)/sizeof(a[0]); Init(a,sz); /*初始化陣列*/ Print(a,sz); /*列印初始化後的陣列*/ Empty(a,sz); /*將陣列清空*/ Print(a,sz); /*列印清空後的結果*/ Init2(a,sz); /*重新對陣列賦初值*/ Print(a,sz); /*列印重新賦值後的結果*/ Reverse(a,sz); /*實現逆置*/ Print(a,sz); /*列印逆置後的結果*/ return 0; }