#C语言 求助!!!!

P5705 【深基2.例7】数字反转

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


|