C++ 如何修复此C++;代码—;浮动型还是双重问题? #包括 int main() { int i; 常数int N=4; 双a=0,b=0,c=0,d=0; 对于(i=1;i
而言,这是因为您没有注意到为解决方案选择的算法。 for循环迭代并使变量如C++ 如何修复此C++;代码—;浮动型还是双重问题? #包括 int main() { int i; 常数int N=4; 双a=0,b=0,c=0,d=0; 对于(i=1;i,c++,C++,而言,这是因为您没有注意到为解决方案选择的算法。 for循环迭代并使变量如a=1+2+3+4和b=1^2+2^2+3^3+4^4 然后a=10和b=30它使c=2.5和d=7.5-2.5^2=1.25然后您选择打印它 使用%.0f,您将获得一个。 如果要以2点精度打印浮点,请使用%.2f在for循环之后,a为10.0,b为30.0。然后将c分配给10.0/4因此c为2.5。下一行相当于d=(30.0/4)(2.5*2.5),因此d是7.5-6.25,即1.25。然后你用你给出的“%.0f”参数修
a=1+2+3+4
和b=1^2+2^2+3^3+4^4
然后a=10
和b=30
它使c=2.5
和d=7.5-2.5^2=1.25
然后您选择打印它
使用%.0f
,您将获得一个。
如果要以2点精度打印浮点,请使用
%.2f
在for
循环之后,a
为10.0,b
为30.0。然后将c
分配给10.0/4
因此c
为2.5
。下一行相当于d=(30.0/4)(2.5*2.5)
,因此d
是7.5-6.25
,即1.25
。然后你用你给出的“%.0f”
参数修剪所有小数,剩下的是1
。就像在中一样,它是1.25
的向下四舍五入版本
如果将打印行更改为:
#include <stdio.h>
int main()
{
int i;
const int N = 4;
double a=0, b=0, c=0, d=0;
for (i = 1 ; i <= N ; i++)
{
a += i;
b += i * i;
}
c = a / N;
d = b / N - c * c;
printf("%.0f\n", d);
return 0;
}
然后您将看到特定d
的所有十进制数字
如中所示,
.0
在%
之后和f
之前,格式为您给定的printf()
是决定要打印的小数位数的因素。超出小数位数的任何数字都将被舍入。我认为c是3
不是。而d
也不是1
,它的1.25
,但您没有打印小数位数。a=1+2+3+4=10;b=1*1+2*2+3*3+4*4=30;c=10/4=2.5;d=30/4-2.5* 2.5=1.25。当打印C时,用0小数,即1。C或C++。选择C.。请将代码缩进。YEP。这个代码使用%.0f;我知道C是2.5,而N-C*C是4 - 2.5×2.5。我理解这一点,但是为什么30/4—2.5×2.5是1.25。我不理解这个点,因为你的代码是代码> D=B/N-C*C;< /C> >,不是。d=N-c*c;
。在你们的努力中我理解这个问题。非常感谢你们。我希望你们一整天都开心。谢谢you@HanbiMo很高兴能帮助朋友。欢迎来到这个网站:)我理解这个问题,在你们的努力下,非常感谢你们。我希望你们一整天都快乐。谢谢
printf("%f\n", d);