Определите номер дня, на который пробег спортсмена составит не менее y километров - C (СИ)
Формулировка задачи:
Пробовала решить по разному, никак не выходит
В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 70% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.
Входные данные
На вход программа получает два действительных числа x и y . Числа положительные, действительные, не превосходят 1000, заданы с точностью до шести знаков после запятой.
Выходные данные
Программа должна вывести единственное целое число.
Решение задачи: «Определите номер дня, на который пробег спортсмена составит не менее y километров»
textual
Листинг программы
#include <stdio.h> #define MAX_VAL (1000.0) #define DELTA (0.7) int main(void) { double x, y; while ( printf("X Y > ") && scanf("%lf%lf", &x, &y) == 2 && x > 0. && x <= MAX_VAL && y > 0. && y <= MAX_VAL ) { int days; for ( days = 1; x < y; x += x * DELTA, days += 1 ) ; printf("%d day(s).\n", days); } return 0; }
Объяснение кода листинга программы
- Объявлены переменные x и y типа double
- Задаются значения MAX_VAL и DELTA
- Организован цикл while, который выполняется до тех пор, пока не будет введено значение, выходящее за пределы допустимых значений
- Внутри цикла определена переменная days и инициализирована значением 1
- В цикле while происходит увеличение значения x на величину x * DELTA и увеличение значения days на 1
- Цикл while выполняется до тех пор, пока значение x меньше значения y
- После окончания цикла выводится значение days
- Возвращается значение 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д