求助1/n和1.0/n到底有什么区别>﹏<

P1035 [NOIP2002 普及组] 级数求和

rxu2003 @ 2023-03-08 13:53:57

# include <stdio.h>
int main ( )
{

int n , k;
n = k = 0;
k = 4;
double Sn = 0;
for (n=1 ; Sn < k ; n++ )
{
    Sn = Sn + 1/n;//为什么用1运行不了,而1.0却可以运行 

} 
printf ("%d",n);

return 0;
}

by q779 @ 2023-03-08 14:09:29

1是整形,1.0是浮点型。整形的/是向下取整的。


by rxu2003 @ 2023-03-08 17:14:07

@q779 非常感谢!!


by hang2023 @ 2023-04-14 11:08:32

1/n 表示整数与 n 相除,最后结果是整数。那么,可以推导出除了 1/1 以外,其他结果都为0.

1.0/n 则表示浮点数与小数相除,最后结果为浮点数


by hang2023 @ 2023-04-14 11:09:02

@hang2023 好像句号写成“.”了。


|