用非字符串的方式试一下
查看原帖
用非字符串的方式试一下
1122712
foresterxxx楼主2024/3/17 16:07

看题解,大家都用优雅的字符串来求解,原谅我太笨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;
	}//nums中从0到nums.size()倒序存储每个数字
	res=nums[0]+nums[1]*0.1+nums[2]*0.01+nums[3]*0.001;
	cout<<res;
	return 0;
}
2024/3/17 16:07
加载中...