尝试了所有我无法理解如何做到的事情。我是编程新手,试图管理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);
}
答案 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)
答案 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;
}
*
代替精度说明符(.
之后的数字)指定精度值出现在参数列表的下一个旁边。这允许您打印到指定的精度。