El discriminante siempre será un número entero, el problema nos dice que todas las letras a, b, c, d ,e y f lo son. Para que sea una ecuación de segundo grado a!=d, si es que se da el caso que a==d, entonces estaríamos frente a una ecuación de primer grado.
Creo que me complique mucho, este es mi código aceptado:#include<stdio.h>
int main()
{
int a,b,c,d,e,f,na,nb,nc,dis,r1=0,r2=0,r3=0;
while(scanf("%d %d %d %d %d %d",&a,&b,&c,&d,&e,&f)!=EOF){
na=a-d,nb=b+d*(f+e),nc=c-d*e*f;
dis=nb*nb-4*na*nc;
if(na!=0 && nb!=0 && nc!=0){
if(dis>0)++r1;
else if(dis==0)++r2;
else if(dis<0)++r3;
}
else if(na!=0 && nb==0){
if(nc!=0){
if((na>0 && nc<0) || (na<0 && nc>0))++r1;
else if((na>0 && nc>0) || (na<0 && nc<0))++r3;
}
else ++r2;
}
else if(na!=0 && nb!=0 && nc==0)++r1;
else if(na==0 && nb!=0)++r2;
else if(na==0 && nb==0 && nc!=0)++r3;
}
printf("%d %d %d\n",r1,r2,r3);
return 0;
}