[问题] 我的副函数无法传值到主函数

楼主: eggsu (数学一等兵)   2015-07-13 05:47:40
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)

我是把笔电(windows7)上Dev C++装好就写的,不知道应该是算是那个平台
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)

问题(Question):
副函数findroot应该能把平方根找到
但传到主函数变量b时,总是得到0
喂入的资料(Input):
一个数
预期的正确结果(Expected Output):
例:输入121,可以得到11,而不是0
错误结果(Wrong Output):
总是得到平方根是0
程式码(Code):(请善用置底文网页, 记得排版)
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
double findroot(double a, double c){
if(((a/c)-c)*((a/c)-c)<0.00000000001){
return c;
}
else {
findroot(a,((a/c)+c)/2);
}
}
int main(void){
//变量a,及其平方根b
double a,b;
//呈现使用说明
cout << "本程式将找出使用者给定之数的正平方根" << endl << "请输入数字:" ;
cin >> a;
//计算平方根
b= findroot(a,1);
//显示结果
cout << a << " 的正平方根为 " << b;
system("pause");
}
补充说明(Supplement):
谢谢大家指教!
作者: putumaxally (putumaxally)   2015-07-13 05:50:00
else 没 return ?
楼主: eggsu (数学一等兵)   2015-07-13 05:52:00
else 不 return 啊……还没有找到值,继续找我懂了。试试!
作者: putumaxally (putumaxally)   2015-07-13 05:54:00
递回一样要return
楼主: eggsu (数学一等兵)   2015-07-13 06:06:00
解决了,感恩!

Links booklink

Contact Us: admin [ a t ] ucptt.com