Неверно вычисляется среднее число миль/галон - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Введите расход бензина (-1, если ввод закончен): 12.8 Введите пройденный путь: 287 Для этой заправки получено миль/галлон 22.421875 Введите расход бензина (-1, если ввод закончен): 10.3 Введите пройденный путь: 200 Для этой заправки получено миль/галлон 19.417475 Введите расход бензина (-1, если ввод закончен): 5 Введите пройденный путь: 120 Для этой заправки получено миль/галлон 24.000000 Введите расход бензина (-1, если ввод закончен): -1 Среднее число миль/галлон: 21.601423 ДОЛЖНО ВЫЙТИ ТАК, НО ВЫХОДИТ ВОТ ТАК :
Vvedite rashod galon : 12.50 Vvedite proidenii mili : 199 Dla etoi zapravki polucheno : 15.920000 Vvedite rashod galon : 13.50 Vvedite proidenii mili : 215 Dla etoi zapravki polucheno : 15.925926 Vvedite rashod galon : 13.90 Vvedite proidenii mili : 220 Dla etoi zapravki polucheno : 15.827338 Srednee chislo mil/galon 15.000000
int main(void) 
{
float galon, opred, sred;
int mili, ops = 0, nop = 0;
scanf("%f", &galon);    
scanf("%d", &mili);
opred = put / galon;
while(galon != -1)
{
        printf("Vvedite rashod benzina : %.2f\n", galon);
scanf("%f", &galon);        
ops  += opred;
nop += 1;
        printf("Vvedite proidenii mili : %d\n", mili);
scanf("%d", &put);
        printf("Dla etoi zapravki polucheno : %f\n", opred);
opred = mili / galon;
}
if (nop != 0)
{
sred = ops / nop;
    printf("Srednee chislo mili/galon %f\n", sred);
}
else 
printf("Ne korektno");
    return 0;
}
Как вы поняли, не выводит контрольное значение "-1" и неправильно считает Среднее число миль/галон...
Так что, есть идеи?

Решение задачи: «Неверно вычисляется среднее число миль/галон»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
 
int main(void) 
{
    float galon = 0., mili = 0.;
    float total_mile = 0., total_galon = 0.;
    while(1)
    {
        printf("Vvedite rashod benzina : ");
        scanf("%f", &galon);        
        if ((int)galon == -1)
            break;
        printf("Vvedite proidenii mili : ", mili);
        scanf("%f", &mili);
        printf("Dla etoi zapravki polucheno : %f\n", mili/galon);
        total_mile += mili;
        total_galon += galon;
    }
    if ((int)total_galon)
        printf("Srednee chislo mili/galon %f\n", total_mile/total_galon);
    else 
        printf("Ne korektno");
    system("pause");
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы