Бесконечный цикл - C (СИ)

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

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

#include <stdio.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    float galon, miles, total_galon = 0, total_miles = 0;
 
    printf("%s", "Введите расход бензина (-1 если ввод закончен): ");
    scanf("%f\n", &galon);
    while (galon != -1)
    {
        total_galon = galon;
        printf("%s", "Введите пройденный путь: ");
        scanf("%f\n", &miles);
        total_miles = miles;
        printf("%s%f", "Для этой заправки получено миль/галон:", miles/galon);
        printf("%s", "Введите расход бензина (-1 если ввод закончен) : ");
        scanf("%f\n", &galon);
    }
    printf("%s%f", "Среднее число миль/галон", total_miles/total_galon);
}
Входит в бесконечный цикл после ввода расхода на бензин. Не даёт ввести пройденный путь. Если ввести -1 не выводит ноль.
Изменил на это:
#include <stdio.h>
 
int main()
{
    float galon, miles, total_galon = 0, total_miles = 0;
 
    printf("%s", "Enter galon (-1): ");
    scanf("%f\n", &galon);
    while (galon != -1)
    {
        total_galon = galon;
        printf("%s", "miles: ");
        scanf("%f\n", &miles);
        total_miles = miles;
        printf("%s%f\n", "miles/galon:", miles/galon);
        printf("%s", "Enter galon (-1): ");
        scanf("%f\n", &galon);
    }
    printf("%s%f", "total miles/galon", total_miles/total_galon);
}
Есть лишний ввод.

Решение задачи: «Бесконечный цикл»

textual
Листинг программы
scanf("%f", &galon); // так лучше

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


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

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

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