问大家个 关于 c 的问题`````
一个数组 是 a[4]
a[0]=1,a[1]=2,a[2]=0,a[3]=4;
我想把 数组a 中非0的元素 放到一个新的数组里,即 b[0]=a[0],b[1]=a[1], b[2]=a[3]
也就是 把那个 a[2]=0 不赋给 数组b[2],而是把 非0的a[3] 赋给 b[2]
该怎么做`````
急啊``!!!!!!!!!!!



#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的话~
无意求分~
刚才想得麻烦了~不用添变量
这样也可以:让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编辑过]