Определить, после какого дня суммарный пробег лыжника за все дни превысит 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. - В этом цикле выполняется проверка, не превышает ли значение
s200 км. Если превышает, то цикл завершается. - Значение
qувеличивается на 1, умноженное наp(процент увеличения пробега за день), деленное на 100.
- Переменная
- Вывод результатов:
- После завершения цикла выводится значение
sиk. - Для выхода из программы вызывается функция
system(pause), которая приостанавливает выполнение программы до нажатия клавиши. Таким образом, данный код позволяет определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км.
- После завершения цикла выводится значение