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 }
原文:https://www.cnblogs.com/zj4516/p/15107520.html