求助这段代码哪里错了谢谢

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

jumiaojiang233 @ 2021-02-04 17:00:44

#include<stdio.h>
int main()
{
    float a;
    scanf_s("%f", &a);
    int b;
    b = int(a / 0.1);
    int i, c[4];
    for (i = 0; b / 10 > 0; i++)
    {
        c[i] = b % 10;
        b = b / 10;
    }
    float d;
    d = c[0] * 1.0 + c[1] * 0.1 + c[2] * 0.01 + c[3] * 0.001;
    printf("%f", d);
    return 0;
}

by jyb666 @ 2021-02-04 17:03:15

您确定没读错题?建议用char/string


by zltqwq @ 2021-02-04 17:07:32

@jumiaojiang233 建议用 STL 的 string 做,浮点数有精度问题


by CGDGAD @ 2021-02-04 17:07:36

@jyb666 所以为啥不能用float啊


by CGDGAD @ 2021-02-04 17:08:02

这个浮点数只有一位吧(也有可能我sb


by wxqwq @ 2021-02-04 17:08:21

You的代码显然把最后一位漏掉了具体见for循环,建议先自己看一下

另外建议本题直接用char数组存下数组后倒过来输出


by jyb666 @ 2021-02-04 17:31:01

@NSObject 不是说建议嘛QwQ


|