帮帮忙为何不对

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

我安静存在 @ 2021-05-04 20:43:16

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int b,c,d,e;
    double a,x;
    cin>>a;
    b=int(a*10)%1000%100%10;
    c=(int(a*10)%1000%100-b)/10;
    d=(int(a*10)%1000-c*10-b)/100;
    e=int(a)/100;
    x=b*100+c*10+d+double(e)/10;
    cout<<x;
    return 0;
}

by ZYH20190341315 @ 2021-05-04 20:49:00

你这只能通过样例 123.4

1233333.4你这个代码就不行了

这一题的最简单思路就是:按字符串处理,字符串翻转输出


by 两仪樱樱子 @ 2021-05-04 20:52:48

样例输出貌似不对? 输出不是小数点后3位?


by 两仪樱樱子 @ 2021-05-04 21:02:15

b存第一位,就b=a*10/1000;

c存第二位就c=a*10/100%10;

d存第三位就d=a*10/10%10;

……

最后输出n=(1000e+100d+10*c+b)/1000;


by 我安静存在 @ 2021-05-09 10:25:13

明白了明白了,谢谢大家


|