2014-09-26 63 views
-9

我需要编写自己的sqrt函数:double my_sqrt_1(double n) 我该如何去做这件事?起初,我试图把 “)INT主(” 本外:如何编写和实现自己的函数

double my_sqrt_1(double n) 
{ 
    int x = 1; 
    x = (x + n/x)/2; 
} 

然后我把这个:

int main() 
{ 
    cout << "Please enter a value "; 
    cin >> my_sqrt_1; 
    cout << '\n' << x; 
} 

我也试过:

int main() 
{ 
    cout << "Please enter a value "; 
    cin >> my_sqrt_1; 
    cout << '\n' << my_sqrt_1; 
} 

的这一切,虽然工作。我可能这样做完全错误,但它在我的脑海中是有道理的。

+1

你叫用'功能()',但你把它当作一个'变量'来对待。看起来你需要从一些基础开始。 – crashmstr 2014-09-26 16:40:59

+2

请确定你说的“没有任何工作”的意思。我可以看到什么是错误的,但是记下错误消息是一个很好的纪律。在那个时候,一旦你被迫把它们写下来,你也将被迫阅读它们。 – 2014-09-26 16:41:16

+1

你*知道如何调用函数,不是吗?你以前没有打过任何功能吗?如果它是你创建的函数或其他人创建的某个函数并不重要,那么调用一个函数就是调用一个函数。另外,如果你说你会的话,你需要从函数中实际返回一些东西。 – 2014-09-26 16:41:25

回答

1

“我可能做这完全错了......”

抱歉地说,但肯定的。

你需要一个变量来接收输入,并调用你的函数传递变量

int main() { 
    cout << "Please enter a value "; 
    double myNumber; 
    cin >> myNumber; 
    cout << '\n' << my_sqrt1(myNumber) << endl; 
} 

而且你的函数应该返回计算的结果

double my_sqrt_1(double n) { 
    double x = 1.0; 
// ^^^^^^  ^^ 
    x = (x + n/x)/2.0; 
        // ^^ 
    return x; // <<<<<<<<<<<<<< 
} 
+0

谢谢你不要对我太苛刻,我缺乏知识。 – Joe 2014-09-26 16:57:34

+0

@Joe De nada。欢迎来到[标签:C++]鲨鱼坦克:-D ... – 2014-09-26 16:59:09

+0

你能向我解释一些东西吗? 在函数中,它表示'double n' 然后它在数学部分调用n,什么是n?我从未给它一个价值或任何东西,为什么它在那里? – Joe 2014-09-26 17:20:47

相关问题