題目詳情:
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