tadehaobaba、 @ 2021-08-15 15:38:08
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
float m ;
cin>>m;
int a=m/100;float A=m-a*100;
int b=A/10; float B=A-b*10;
int c=B/1;float C=B-c*1;
int d=C/0.1;
cout<<d<<"."<<c<<b<<a<<endl;
return 0;
}
by YUN_0120 @ 2021-08-15 15:45:45
@tadehaobaba、 稍后私聊您,我们慢慢分析这道题,您用的方法有问题
by 幽灵特工 @ 2021-08-15 15:47:18
@tadehaobaba、
举222.2来说,最后一步
int d=0.2/0.1=0
而不是你想要的2。试试这份代码的结果
#include<iostream>
using namespace std;
int main()
{
cout << (int)0.2 / 0.1;
return 0;
}
你可以把除以0.1换成乘10。
不过本题的正解应该是字符串操作吧
by 幽灵特工 @ 2021-08-15 15:49:21
@tadehaobaba、
你可以试一试输出中间变量的调试方法。
具体到本题来说你可以在输出答案之前输出a,b,c,d,A,B,C(记得加上换行符)来看看