Определить, сколько км спортсмен пробежал в 10 й день - C (СИ)
Формулировка задачи:
Помогите написать программу именно на логике:
В первый день спортсмен пробежал 10км. Каждый следующий день он пробегал на 10% больше, чем в предыдущий день.
Определить:
а. Сколько км он пробежал в 10 й день
б. В какой день он впервые пробежит больше 20 км
с. В какой день его суммарный пробег превысит 100км
СПАСИБО
Решение задачи: «Определить, сколько км спортсмен пробежал в 10 й день»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { double d,s; int n,q1,q2; d=10.0; s=d; n=1; q1=0; q2=0; while (1) { d=1.1*d; n++; s+=d; if (n==10) printf("Path in 10-th day=%lf\n",d); if ((q1==0) && (d > 20.0)) {printf("%d-th day path > 20km\n",n); q1=-1;} if ((q2==0) && (s > 100)) {printf("%d-th day total path > 100km\n",n); q2=-1;} if ((s > 100) && (n > 10)) break; } system("PAUSE"); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с stdin/stdout и стандартной библиотекой
- Определяем основную функцию программы
- Объявляем переменные: d (пройденное расстояние), s (общее пройденное расстояние), n (номер дня), q1 (флаг выхода из цикла при достижении 20 км), q2 (флаг выхода из цикла при достижении 100 км)
- Инициализируем переменные: d = 10.0, s = d, n = 1, q1 = q2 = 0
- Запускаем бесконечный цикл, в котором увеличиваем значение переменной d на 1.1 каждый день
- Обновляем значения переменных s и n
- Проверяем условия для вывода сообщений:
- Если день 10-й и значение d больше 20 км, выводим сообщение и устанавливаем флаг q1 = -1
- Если общее пройденное расстояние больше 100 км и день больше 10, выводим сообщение и устанавливаем флаг q2 = -1
- Если общее пройденное расстояние больше 100 км и день больше 10, прерываем цикл
- Запускаем систему ожидания нажатия клавиши (PAUSE)
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д