跪求c语言高手帮忙看看我写的程序错在哪里

输入若干个整数存放在一维数组中,根据此数组构造两个数组a和b,要求a中存放数组x中所有的正数,b中存放数组中所有的负数,0舍弃,最后分别输出数组a和b 。
程序:
#include<stdio.h>
#define N 1000
main()
{
int a[N],b[N],x[N]={0};
int i,len1=0,len2=0;
printf("x:");
for(i=0;i<N;i++)
scanf("%d",&x[i]);
for(i=0;i<N;i++)
{
if(x[i]>0)
{
a[len1]=x[i];
len1++;
}
else if(x[i]<0)
{
b[len2]=x[i];
len2++;
}
}
printf("a:");
for(i=0;i<len1;i++)
printf("%d ",a[i]);
printf("\nb:");
for(i=0;i<len2;i++)
printf("%d ",b[i]);

}
这个是我写的程序,但是老是出不来结果,麻烦各位c语言高手帮忙看看,小弟在此先谢过哈

程序没错
把#define N 1000 数字改小点

你每次都输1000个数?没输完肯定不出结果了

改成5输入5个数试试
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-01
可把
#define N 1000
改为
#define N 5

只输入5个做测试就好
第2个回答  2012-02-01
哪有这么干的,干啥要输入一千次,手都酸了
相似回答