平方根为2,点后需要x位数

时间:2015-11-18 14:41:24

标签: c++ c

尝试了所有我无法理解如何做到的事情。我是编程新手,试图管理c和c ++语言,但有时候我坚持零。谁能帮我这个?我需要在2平方后获得X位数。听起来很简单,但对我来说并非如此。谢谢你的关注。 这是一个想法

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    double a = 2;
    double b = 1;//somehow i read about dividing, and square of 2 is between 1 and 2;
    double c = (a-b*b)/(2*b);
    double d = b+c;
    double c1= (a-d*d)/(2*d);
    double d1 = c1+d;
printf("%.16f\n%.16f\n",d1, d);

}

4 个答案:

答案 0 :(得分:1)

什么阻止你在点之后打印X号码?

像这样: (简单c)

#include <stdio.h>
#include <math.h>
int main (void)
{
double myRoot = sqrt(2.00);
printf("%.3f\n", myRoot);
return 0;
}

double是一个精度超过整数的数字。 sqrt()函数返回一个double并输入double类型的输入。它是一个标准函数,其定义包含在头文件math.h中。 %3.f调用中的printf()表示应该在点后面打3个位置打印数字。

值得注意的是c和c ++是完全不同的语言,所以你需要选择你想要解决的问题。

答案 1 :(得分:0)

#include <stdio.h>
#include <math.h>

int main()
{
    double number = 20.0;
    double sq = sqrt(number);
    printf("%.3lf\n", sq);
    return 0;
}

此代码适用于我。 print语句中的.3表示它是3位数

答案 2 :(得分:0)

如果你要整理你的实际数字,你可以floor(val*pow(10, X))/pow(10,X),但它可能只需要以给定的精度打印它: c++c

答案 3 :(得分:0)

如果您希望在小数点后打印特定数量的数字,则可以执行以下操作:

#include <stdio.h>
#include <math.h>

int main ( )
{
    double d = sqrt(2);
    int digits = 7;
    printf("d=%.*f\n", digits, d);
    return 0;
}

*代替精度说明符(.之后的数字)指定精度值出现在参数列表的下一个旁边。这允许您打印到指定的精度。