读入1 个正整数 n(n<=100),计算并输出1-1⼀2+1⼀3-1⼀4+……的前n项和(四舍五入保留小数4位)。

2024-11-25 13:09:55
推荐回答(1个)
回答1:

1,n 均为int 型,加了括号先计算(1/n)则结果取int型。
不加(),1显示转换为float型, 则计算为float型 /int 型 , int 会隐式转换为float型参加运算,结果为float型。 由于加不加()导致了强制类型转化的先后不同, 1/n 如果用Int 型计算的话 这一步运算数值已经出现偏差了。
ps:验证,(float)(1.0/n)*flag 这样写结果就不会错