#include<stdio.h> main() { int i,j=0,d; int a[4]={1,2,0,4},b[4];
for(i=0;i<=3;i++) { if(a[i]) { b[j]=a[i]; j++; } } for(d=0;d<=j;d++) { printf("%d\n",b[d]); } system("PAUSE"); }
system("PAUSE");-----这句可以让你保存住运行页面,,如果你不是用TC的话~
无意求分~
可以再加一个变量,记录下来a[i]=0 的次数
再把b[]的个数减去就好了~
刚才想得麻烦了~不用添变量
这样也可以:让j的值在赋值之前变化:
#include<stdio.h> main() { int i,j=-1,d,k; int a[4]={1,2,0,4},b[4];
for(i=0;i<=3;i++) { if(a[i]) { j++; b[j]=a[i]; } } for(d=0;d<=j;d++) { printf("%d\n",b[d]); } system("PAUSE"); }
[此贴子已经被作者于2005-4-3 2:38:09编辑过]