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