小数点以下の「0」を除外する問題
問題概要
小数点第三位まで記述された数 が与えられる。次のようにせよ。
- 小数点以下の部分について、末尾に 0 を付けない
- 末尾に過剰な小数点を付けない
制約
考えたこと
末尾の 0 を除外していけば良い。つまり、while
文を用いて、次のようにすればよい。
- 文字列の末尾が '0' である限り、末尾を削除する
- ただし、末尾が小数点 '.' になったときは、その末尾も削除する
コード
#include <bits/stdc++.h> using namespace std; int main() { string X; cin >> X; while (X.back() == '0') X.pop_back(); if (X.back() == '.') X.pop_back(); cout << X << endl; }