看题解,大家都用优雅的字符串来求解,原谅我太笨hhh,一开始就一头扎到想到用取用数字位数然后求解,问题是一般取位数的操作是整数,遇到小数,那就把它转成整数再取,取完再保存相乘就能实现数字的反转。
代码如下
#include<bits/stdc++.h>
using namespace std;
vector<int>nums;
double res;
int main(){
float x;
cin>>x;
int y=0;
x/=0.1;
while(x){
y=(int)x%10;
nums.push_back(y);
x/=10;
}
res=nums[0]+nums[1]*0.1+nums[2]*0.01+nums[3]*0.001;
cout<<res;
return 0;
}