Определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км - C (СИ)
Формулировка задачи:
Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P про- центов от пробега предыдущего дня (P — вещественное, 0 < P < 50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число).
Какие ошибки есть в данном коде?Правильно ли
Помогите пожалуйста
#include <stdio.h> #include <math.h> int main(){ int k; float q,p,s; printf("p = "); scanf("%f",&p); printf("q = "); scanf("%f",&q); printf("k = "); scanf("%d",&k); printf("s = "); scanf("%f",&s); if (s<=200){ q=q*(1+p/100); s=s+q; k=k+1; } printf("%f\n%",s); return 0; }
Решение задачи: «Определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км»
textual
Листинг программы
void main(int argc,char* argv[]) { int k; float q,p,s; printf("p = "); scanf("%f",&p); s=k=0; q=10; while(s<=200) { s+=q; k++; //printf("s=%f k=%d\n%",s,k); q*=1+p/100; } printf("s=%f k=%d\n%",s,k); system("pause"); }
Объяснение кода листинга программы
Код представляет собой реализацию задачи о суммарном пробеге лыжника.
- Синтаксический анализ и проверка входных параметров:
- Переменная
argc
содержит количество аргументов, переданных в программу. - Переменная
argv
является массивом строк, содержащих аргументы, переданные в программу.
- Переменная
- Инициализация переменных:
- Переменная
k
инициализируется значением 0. - Переменная
q
инициализируется значением 10. - Переменная
p
считывается с помощью функцииscanf
. - Переменная
s
инициализируется значением 0.
- Переменная
- Цикл для определения количества дней, необходимых для достижения 200 км:
- Переменная
s
увеличивается на значениеq
. - Переменная
k
увеличивается на 1. - В этом цикле выполняется проверка, не превышает ли значение
s
200 км. Если превышает, то цикл завершается. - Значение
q
увеличивается на 1, умноженное наp
(процент увеличения пробега за день), деленное на 100.
- Переменная
- Вывод результатов:
- После завершения цикла выводится значение
s
иk
. - Для выхода из программы вызывается функция
system(
pause)
, которая приостанавливает выполнение программы до нажатия клавиши. Таким образом, данный код позволяет определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км.
- После завершения цикла выводится значение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д