我必須製作一個程序,它接收一個數字並輸出它的平方根。例如 - 45 - >3√5。我做了一個程序,但它返回的數字與我放入的相同。幫助將不勝感激。 這裏是我的代碼 - >計算一個數字的平方根的程序。
#include<iostream>
using namespace std;
int squarerootfinder(int number, int divisor){
if(divisor == 1){
return 1;
}
else{
if((number/(divisor * divisor))% 1 != 0){
divisor = squarerootfinder(number, divisor - 1);
}
if((number/ (divisor * divisor)) % 1 == 0){
return divisor;
}
}
}
int main(){
int number;
cout << "Enter a number to find the square root of it \n";
cin >> number;
int divisor = number;
int squareroot;
squareroot = squarerootfinder(number, divisor);
cout << squareroot << endl;
return 0;
}
您試圖調試該問題的嘗試是什麼? – 2012-04-14 02:13:08
嗯,我在過去的半個小時裏一直在閱讀它,但是我找不到錯誤在哪裏。我想它的功能遞歸有問題。但我不太確定我應該做什麼。 – 2012-04-14 02:15:01
如果您有權訪問調試器,則需要遍歷程序的執行,觀察執行流程以及該流程中關鍵點的變量狀態。否則,打印到控制檯或日誌文件來完成相同的事情。 – 2012-04-14 02:16:40