La secuencia del programa es incorrecta. Mira esto:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float litros;
float km_por_litro,litros_y_km_portanque, total_litros, total_km, total_promedio, contador; // declaro variables
litros_y_km_portanque = km_por_litro / litros; // asigno valores
total_promedio = total_km / total_litros; //
printf(" introduzca los litros utilizados (escriba -1 para terminar): "); // se solicita dar los datos
scanf("%f", &litros); // asigna el valor a la variable litros
while(litros != -1) // comienza el ciclo mientras litros o km/litro sea distinto que -1 (centinela)
{ // continua
printf(" escribe la cantidad de km: ");
scanf("%f", &km_por_litro);
litros_y_km_portanque = km_por_litro / litros;
printf(" el promedio de kilometros por litro de este tanque es: %.3f\n", litros_y_km_portanque);
total_litros += litros;
total_km += km_por_litro;
printf(" introduzca los litros utilizados (escriba -1 para terminar): "); // se solicita dar los datos
scanf("%f", &litros); // asigna el valor a la variable litros
}
if(litros > 0)
{
total_promedio = total_km / total_litros;
printf(" el total promedio de km//litro es: %.3f\n" , total_promedio ); // si se imprimio por lo menos un valor
} // saca el promedio general de km/
while(getchar() != '\n');
getchar();
return 0;
}