主要是我明明写了n=N;这个步骤,但是我不懂为什么会n是43而N明明是44的。求解答详细,谢谢。
double在计算时有时会发生精度问题,改用float就正常了
#include <stdio.h>
int main(){
int n;
float N;
scanf("%f",&N);
n=N;
N-=n;
N*=100;
n=N;
printf("%d,%.2f\n",n,N);
}
因为一个是int类型的,一个是double类型的,因为c++自身某些原因,转换时会出错
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!