每日一练001.pm
题目详情:
P5705 【深基2.例7】数字反转 - 洛谷
题目描述
输入一个不小于 100 且小于 1000,同时包括小数点后一位的一个浮点数,
例如 123.4 ,要求把这个数字翻转过来,变成 4.321 并输出。
#include<iostream>
using namespace std;
int main()
{double number;cin >> number;//输入一个三位数例如:123.4int integerPart = static_cast<int>(number);//这个发挥强转的作用,比(int)更安全int decimalPart = static_cast<int>((number - integerPart) * 10);//123.4对应a,b,c,dint a = (int)number / 100; //计算出a=1int b = (int)(number /10) %10;//计算出b=2int c = (int)number%10;//计算出c=3int d = decimalPart;cout << (d + a / 1000.0 + b / 100.0 + c / 10.0) << endl;//这里需要注意,假如除以1000,运行结果是4.120(最后一位被抹去了)return 0;
}
需要注意两点
1.关于static_cast<int>的使用
2.以及最后(d + a / 1000.0 + b / 100.0 + c / 10.0)的计算,思考为什么要使用1000.0而不是1000