Перевести код из Паскаля в Си - 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;
}

Объяснение кода листинга программы

  1. Включение необходимых библиотек
  2. Объявление константы EPS, которая представляет собой допустимую погрешность при сравнении чисел
  3. Ввод числа P с клавиатуры и сохранение его в переменной типа float
  4. Приведение числа P к типу double для выполнения операций с плавающей точкой
  5. Объявление переменных S и D типа float со значениями по умолчанию 10.0
  6. Объявление переменной K типа int, которая будет использоваться для контроля числа итераций
  7. Организация цикла while, который будет выполняться до тех пор, пока разница между S и 200 меньше EPS или S меньше 200
  8. Внутри цикла увеличение K на 1
  9. Умножение D на (1 + P) внутри цикла
  10. Прибавление D к S внутри цикла
  11. Вывод значения K и S после завершения цикла
  12. Ожидание нажатия клавиши для завершения программы
  13. Возврат значения EXIT_SUCCESS, что означает успешное завершение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5