Определить, после какого дня суммарный пробег лыжника за все дни превысит 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 км.
- После завершения цикла выводится значение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д