Loop salta una sentencia scanf después de la primera vez

Aquí está el código para main ():

int main (void)
{
float acres[20];
float bushels[20];
float cost = 0;
float pricePerBushel = 0;
float totalAcres = 0;
char choice;
int counter = 0;

for(counter = 0; counter < 20; counter++)
{   
    printf("would you like to enter another farm? "); 

    scanf("%c", &choice);

    if (choice == 'n')
    {
        printf("in break ");
        break;
    }

    printf("enter the number of acres: ");
    scanf("%f", &acres[counter]);

    printf("enter the number of bushels: ");
    scanf("%f", &bushels[counter]);

}


return 0;
}

Cada vez que el programa se ejecuta a través del primer scanf funciona bien, pero en la segunda pasada a través del bucle, el scanf para ingresar un carácter no se ejecuta.

Respuestas a la pregunta(1)

Su respuesta a la pregunta