【发布时间】:2019-07-12 01:01:14
【问题描述】:
当i 是整数或小数点后没有非零位时,该程序应该在小数点后输出零位。它适用于所有情况,但不适用于最后一种情况。谁能帮我解决这个问题?
代码:
#include <stdio.h>
#include<math.h>
int main()
{
double i,j,k;
for(i=0;i<=2;i=i+0.2)
{
k=3;
j=i+1;
while(k--)
{
if(fmod(i,1)==0) printf("I=%.0lf J=%.0lf\n",i,j);
else printf("I=%.1lf J=%.1lf\n",i,j);
j++;
}
}
}
【问题讨论】:
-
请提供例外输出。我认为 i ideone.com/8rPVHu
-
请附上代码而不是链接。
-
我认为你需要
remainder而不是fmod。 -
你知道我永远不会等于2吗?迭代从 0 到 1000 的整数,然后除以 5.0
-
@phuclv 我永远不会等于 2? “迭代从 0 到 1000 的整数,然后除以 5.0”对不起,我不明白这一点。你能分解一下吗?
标签: c algorithm floating-point double