我正在尝试制作和打印一系列形式为1 / n的表格;其中n是自然数。
int Number;
float NumberInverse, NumberInverseNext;
for ( Number = 1; Number < 1000; Number++)
如果我尝试在此之后打印“数字”,我将得到1-1000的一系列自然数,这是我所期望的。但是如果我这样做
NumberInverse = 1/Number;
并尝试打印NumberInverse,我得到0作为输出。我不确定自己在做什么错以及应该做什么。
编辑:即使更改
,这也不是所提问题的重复项 NumberInverse = 1/Number;
到
NumberInverse = 1/(float)Number;
我不能得到1 / n的序列,这是原始问题
答案 0 :(得分:1)
尝试强制转换,您的答案是整数,所以您将得到0,请尝试以下操作:
int Number;
float NumberInverse, NumberInverseNext;
for ( Number = 1; Number < 1000; Number++) {
NumberInverse = 1/(double)Number;
printf("%f \n",NumberInverse);
}