当前位置: 首页 > 知识库问答 >
问题:

这个循环条件出了什么问题?[副本]

百里疏珂
2023-03-14

查看此链接的输出(向下滚动查看输出),以了解我正在尝试完成的内容

for(i=0; i<=0.9; i+=0.1){
  printf("%6.1f ",i);
}

我希望这可以打印从0.0到0.9的值,但它在打印0.8后就停止了,知道为什么吗?

共有1个答案

厍晋鹏
2023-03-14

在这里使用浮点是问题的根源。而是使用int:

int i;
for(i = 0; i <= 10; i++)
   printf("%6.1f ", (float)(i / 10.0));

输出:

0.0    0.1    0.2    0.3    0.4    0.5    0.6    0.7    0.8    0.9    1.0 
 类似资料:
  • 问题内容: boolean r = false ; int s = 0 ; while (r == false) ; { s = getInt() ; if (!(s>=0 && s<=2)) System.out.println (“try again not a valid response”) ; else r = true ; } 即使输入3或123,循环也不会终止,文本也不会显示。怎么了

  • 当我像这样做一个常规的while循环时 它打印 但第二个while循环在满足条件后再次运行。 所以结果是 “佛罗多是一个很好的霍比特人的名字”难道它不应该停止印刷吗 我设置了x的条件 编辑:哦,我现在明白了,哈哈,我想增量是在代码的末尾,开始是0

  • 因此,作为学校的一部分,我正在使用For循环,我有一些代码可以工作,但我很难理解为什么它可以工作。对我来说,重要的是要真正理解为什么一块代码能做它不能做的事情,而不仅仅是它能工作。 所以有一点背景。这个小程序利用for循环,根据用户输入打印一系列字符。其思想是用户输入一个介于1和8之间的数字,程序将打印一个字符,然后移动到下一行再打印两个,移动到下一行再打印三个等等,并打印用户输入的行数。 程序在

  • 我希望得到像这里测试1-4这样的期望输出,并且仍然使用Scanner scan=new Scanner(System.in)提示用户输入测试。我的程序显示超出范围。我该怎么解决这个问题?

  • 我试图在调试日志下面发出一个REST post调用。我尝试了不同的方法-信任许多不同风格的所有证书,将证书上载到java cacerts(JVM在加载时将证书显示为受信任的),但我仍然会变成failure_shake错误。下面的代码是否为您提供了有关问题的任何提示?使用Java8。

  • 问题内容: 我已经为Employee类的父类是抽象的并且父类中的clone()方法是抽象的编写了此克隆方法。我想用此代码复制Employee对象的原始数据类型,而不是复制每个原始数据单独键入,但是此代码在我调用clone()方法的行中有问题。(此代码在Employee类中) 错误是:来自对象类型的方法clone()不可见。 但是我的Employee类在类层次结构中,可以访问Object类中受保护的