Неверно вычисляется среднее число миль/галон - C (СИ)
Формулировка задачи:
Введите расход бензина (-1, если ввод закончен): 12.8
Введите пройденный путь: 287
Для этой заправки получено миль/галлон 22.421875
Введите расход бензина (-1, если ввод закончен): 10.3
Введите пройденный путь: 200
Для этой заправки получено миль/галлон 19.417475
Введите расход бензина (-1, если ввод закончен): 5
Введите пройденный путь: 120
Для этой заправки получено миль/галлон 24.000000
Введите расход бензина (-1, если ввод закончен): -1
Среднее число миль/галлон: 21.601423
ДОЛЖНО ВЫЙТИ ТАК, НО ВЫХОДИТ ВОТ ТАК :
Как вы поняли, не выводит контрольное значение "-1" и неправильно считает Среднее число миль/галон...
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; }
Так что, есть идеи?
Решение задачи: «Неверно вычисляется среднее число миль/галон»
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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д