Перевести код из Паскаля в Си - C (СИ) (70606)
Формулировка задачи:
как перевести код паскаль в Си?
Листинг программы
- program While16;
- var
- P, S, D:Real;
- K :Integer;
- begin
- Write('Введите процент: ');
- Readln(P);
- K:=1;
- D:=10;
- S:=10;
- while S<=200 do
- begin
- inc(K,1);
- D:=D+D*P/100;
- S:=S+D;
- end;
- Writeln(K,' ',S);
- end.
Решение задачи: «Перевести код из Паскаля в Си»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- const float EPS = 0.00001;
- int main(void)
- {
- float P, S = 10.0, D = 10.0;
- int K = 1;
- printf("Введите процент: ");
- scanf("%f", &P);
- P /= 100.0;
- while ((fabs(S - 200) < EPS) || (S < 200))
- {
- ++K;
- D *= (1 + P);
- S += D;
- }
- printf("%d %f", K, S);
- getchar();
- return EXIT_SUCCESS;
- }
Объяснение кода листинга программы
- Включение необходимых библиотек
- Объявление константы EPS, которая представляет собой допустимую погрешность при сравнении чисел
- Ввод числа P с клавиатуры и сохранение его в переменной типа float
- Приведение числа P к типу double для выполнения операций с плавающей точкой
- Объявление переменных S и D типа float со значениями по умолчанию 10.0
- Объявление переменной K типа int, которая будет использоваться для контроля числа итераций
- Организация цикла while, который будет выполняться до тех пор, пока разница между S и 200 меньше EPS или S меньше 200
- Внутри цикла увеличение K на 1
- Умножение D на (1 + P) внутри цикла
- Прибавление D к S внутри цикла
- Вывод значения K и S после завершения цикла
- Ожидание нажатия клавиши для завершения программы
- Возврат значения EXIT_SUCCESS, что означает успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д