**基本上我得到了伪代码:
“x = 1
重复10次:x =(x + n / x)/ 2
返回x“
并且int main函数的伪代码(int main函数在cout中打印出我的n值),以便创建一个sqrt函数程序。我在linux2编译器上遇到以下错误:
:在函数'double my_sqrt_1(double)'中:
:9:1:错误:在'return'之前预期的primary-expression
:9:1:错误:在'return'之前预期';'
:在函数'int main()'中: : 15:13:错误:在' - '标记
之前预期不合格的id:〜>在'return'之前预期的primary-expression
非常感谢帮助!
#include <iostream>
#include <math.h>
using namespace std;
double my_sqrt_1(double n)
{
for (int x= 1; x<10; ++x)
cout<< x << '\t' << x=(x+n/x)/2 <<
return x;
}
int main()
{
int n= 3.141459;
int k= -100,-10,-1,0,1,10,and 100;
for(auto k : { -100,-10,-1,0,1,10,100}){
n=3.14159 * pow (10.0,k);
cout << "print n,sqrt(n),and my_sqrt_1(n)" ;
return 0;
}
}
答案 0 :(得分:3)
您在cout
行末尾错过了分号:
double my_sqrt_1(double n)
{
for (int x= 1; x<10; ++x)
cout<< x << '\t' << x=(x+n/x)/2;
return x;
}
线索出现错误:
:9:1:错误:在'return'之前预期';'
对于那些刚接触C / C ++的人来说,找到编译器错误的来源可能会很棘手,如果你错过了分号,报告的行通常会与包含实际错误的行不同。正如在这种情况下,return
行成为与上一行相同的语句的一部分。
同样在这里:
int k= -100,-10,-1,0,1,10,and 100;
这不是你如何定义一个数组you should read up on the basics of those,因为你是游戏的新手,这在这里很明显:
cout << "print n,sqrt(n),and my_sqrt_1(n)" ;
您不是在调用任何函数,而是输出静态文本字符串。您需要在文字字符串之外进行函数调用和变量输出:
cout << "print " << n << "," << sqrt(n) << ", and" << my_sqrt_1(n);