1. 程式人生 > 其它 >刪除陣列零元素

刪除陣列零元素

 1 #include<stdio.h>
 2 #define N 100
 3 int Delete_Zero(int array[],int n)
 4 {
 5     int count=0;
 6     int sum=0;
 7     for(int i=0;i<n;i++)
 8     {
 9         if(array[i]==0)
10         {
11             for(int j=i;j<n;j++)
12             {
13                 array[j]=array[j+1];
14             }
15 sum++; 16 printf("刪除第%d個0後的陣列:\n",sum); 17 printf(" ["); 18 for(int b=0;b<n-1;b++) 19 { 20 printf("%d",array[b]); 21 if(b!=n-2) 22 { 23 printf(","); 24 }
25 if(b==n-2) 26 { 27 printf("]\n"); 28 } 29 } 30 n--; 31 i--; 32 } 33 else 34 { 35 count++; 36 } 37 } 38 printf("刪除%d個0之後陣列中還剩%d個元素\n",sum,count);
39 printf("\n\n"); 40 printf("刪除所有0後的陣列是:\n\n"); 41 printf(" ["); 42 for(int k=0;k<n;k++) 43 { 44 printf("%d",array[k]); 45 if(k!=n-1) 46 { 47 printf(","); 48 } 49 if(k==n-1) 50 { 51 printf("]\n"); 52 } 53 } 54 } 55 int main() 56 { 57 /*********Begin*********/ 58 int array[N]; 59 int n; 60 scanf("%d",&n); 61 for(int i=0;i<n;i++) 62 { 63 scanf("%d",&array[i]); 64 } 65 Delete_Zero(array,n); 66 /*********End**********/ 67 return 0; 68 }