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