在线求助大佬!!!求帮看看哪错了?

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

Qiuxi @ 2023-04-07 11:10:13

为什么我输入123.4输出的是0.321?不应该是4.321吗?!!求求各位大佬了,救救孩子吧!!!


#include<iostream>
using namespace std;
int main()
{
    double a,f;
    int b,c,d,e;
    cin>>a;
    b=a/100;
    c=a/10-10*b;
    d=a/1-100*b-10*c;
    e=a-100*b-10*c-1*d;
    f=e+0.1*d+0.01*c+0.001*b;
    cout<<f;
    return 0;
}

by Yang_Zicong @ 2023-04-11 21:22:36

e出的问题 你的代码e是0


by Yang_Zicong @ 2023-04-11 21:25:17

e应该是0.4 但因为你设的是int 强制转换为0 还有,下面应该是10*e吧


by Yang_Zicong @ 2023-04-11 21:26:18

以后遇到这种问题就直接把每个环节输出一遍,CSP模拟题都这么做


by Yang_Zicong @ 2023-04-11 21:27:22

你其实可以用string做 附上完整代码


#include <bits/stdc++.h>
using namespace std;
int main () {
    string a;
    cin >> a;
    reverse(a.begin(), a.end());
    for(int i = 0;i < a.size();i++){
        cout << a[i];
    }
    return 0;
}

by luolie0804 @ 2023-05-15 19:14:05

可以用字符做,把每一个数和小数点都看成char类型的


|