一开始忽略了输入数据可能为小数的情况。
#include <stdio.h>
int main(){
int a,b,c;
int n,i;
double s[100];
while(scanf("%d",&n)&&n){
a=b=c=0;
for(i=0;i<n;i++){
scanf("%lf",&s[i]);
if(!s[i]){
b++;
}else if(s[i]<0){
a++;
}else{
c++;
}
}
printf("%d %d %d\n",a,b,c);
}
return 0;
}