#include
int main() {
int m,s,a,b;
s=0;
int sign;
sign=1;
scanf("%d",&m);
int i;
for(i=1; i<=m; i++) {
s+=(1.0)*sign/i;
sign=-sign;
}
printf("%f",s) ;
return 0;
}
想问一下s+=(1.0)*sign/i;这一步是在每步都运算完后把数转为整型,还是说每走一步运算后都需要转一次整型
按照计算顺序(1.0)*sign 转为float 然后 /i 还是float,然后 +s 还是float,最后将结果赋值给s时再转为int