我必须制作一个程序,它接收一个数字并输出它的平方根。例如 - 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