19356843105__hh @ 2021-10-28 10:51:47
代码如下:
#include <stdio.h>
int main()
{
int y,r;
double z=0,x,t=100;
scanf("%lf",&x);
do{
y=x/t;
r=y%10;
z=z*0.1+r;
t=t/10;
}while(t>=0.1);
printf("%.3lf\n",z);
return 0;
}
各位大佬帮忙看看哪错了哈,蟹蟹啦!!!!
by cjh666 @ 2021-10-28 12:18:51
没学过c#但c++跟c#应该是差不多的吧
目测是因为y=x/t这里double类型转int类型导致小数丢失
hack一下:111.1
会输出0.111
啊要是这是语言特性啥的当我没说
by cjh666 @ 2021-10-28 12:19:02
@19356843105__hh