Перевести код с Pascal - C (СИ) (75573)
Формулировка задачи:
помогите пожалуйста,нужно перевести программу на си)
Листинг программы
- uses crt;
- function Sq(x:real;n:integer):real;
- var yi:real;
- begin
- if n=0 then Sq:=x/2
- else Sq:=(Sq(x,n-1)+x/Sq(x,n-1))/2;
- end;
- var x:real;
- n:integer;
- begin
- repeat
- write('Введите значение x>=0 x=');
- readln(x);
- until x>=0;
- repeat
- write('Введите n от 0 до 10 n=');
- readln(n);
- until n in [1..10];
- writeln('Квадратный корень=',Sq(x,n):0:3);
- end.
Решение задачи: «Перевести код с Pascal»
textual
Листинг программы
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<stdlib.h>
- double Sq(double x, double n)
- {
- if (n==0) return x/2;
- else return (Sq(x, n-1)+x/Sq(x, n-1))/2;
- }
- int main()
- {
- double x;
- int n;
- system("chcp 1251 > nul");
- do {
- printf("Введите значения x>=0:\nx = ");
- scanf("%lf",&x);
- } while (x<=0);
- do {
- printf("\nВведите n от 0 до 10:\nn = ");
- scanf("%d",&n);
- } while ((n<=0) || (n>=11));
- printf("\nКвадратный корень = ",Sq(x,n));
- system("pause");
- return 0;
- }
Объяснение кода листинга программы
- Переменная
x
используется для хранения значения числа, которое вводится пользователем. - Переменная
n
используется для хранения значения числа, которое вводится пользователем. - Функция
Sq
вычисляет квадратный корень числа. - В функции
main
используется циклdo-while
, чтобы пользователь мог ввести корректные значенияx
иn
. - Пользователю предлагается ввести значение
x
в циклеdo-while
, который продолжается до тех пор, пока не будет введено неотрицательное число. - Пользователю предлагается ввести значение
n
в циклеdo-while
, который продолжается до тех пор, пока не будет введено число от 1 до 10. - Вызывается функция
Sq
с аргументамиx
иn
, и результат выводится на экран. - Цикл
do-while
завершается, и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д