Я делаю программу на C++ для вычисления квадратного корня числа. Эта программа не использует встроенную математику «sqrt». Существуют две переменные: одна для номера, которую вводит пользователь, а другая для квадратного корня из этого числа. Эта программа не работает очень хорошо, и я уверен, что есть лучший способ сделать это:Программа для вычисления квадратного корня C++
Вот мой полный код:
#include <iostream>
using namespace std;
int main(){
int squareroot = 0;
int number;
cout << "enter a number sp that i can calculate its squareroot" << endl;
cin >> number;
while (squareroot * squareroot != number){
squareroot+=0.1;
}
cout << "the square root is" << squareroot << endl;
return 0;
}
Я знаю, что должен быть лучший способ. Помощь Pls. Посмотрел через Google, но не понимаю сложные программы там, поскольку я все еще новичок.
Заранее спасибо.
Это не проблема программирования, но проблема в математике. Существует несколько (эффективных и менее эффективных) алгоритмов. Сначала вы должны выбрать один и погрузиться в него, пока вы не поймете его подробно, а затем попытайтесь его реализовать. – CompuChip
Для начала вам нужно знать, что неинициализированная локальная переменная (например, ваша переменная 'squarertoot') имеет * неопределенное значение *, и использование их приведет к * неопределенному поведению *. Во-вторых, вы объявляете 'squareroot' как переменную * integer *, вы не можете добавить значение с плавающей запятой и ожидать, что она будет работать нормально. –
replace! = С < – secolive