今回は以下の短いC++コードを使って、1行ずつ意味を解説しながら「C++で四捨五入を行う方法」について紹介します。
#include<bits/stdc++.h>
usingnamespacestd;
intmain() {
doublen, m;
cin >> n >> m;
cout << round(n / m) << endl;
}
1行ずつの解説
1行目: #include <bits/stdc++.h>
C++でよく使われる標準ライブラリをまとめてインクルードするためのヘッダです。通常は #include <iostream>
や #include <cmath>
のように個別で書きますが、競技プログラミングなどでは省略のためにこのヘッダを使うことがあります。
特にここでは、round
関数を使うために <cmath>
が必要になりますが、<bits/stdc++.h>
を使うことで一括で読み込んでいます。
2行目: using namespace std;
std::cout
や std::cin
を毎回書くのは面倒なので、名前空間 std
を省略できるようにしています。これにより、cin
や cout
とだけ書けば使えるようになります。
4行目: int main() {
プログラムのエントリーポイントです。ここから処理が始まります。
5行目: double n, m;
n
と m
という**浮動小数点数(double型)**の変数を宣言しています。分数の計算や小数点を扱うために double
を使っています。
6行目: cin >> n >> m;
標準入力から n
と m
を読み込みます。例えば次のように入力できます:
10 3
すると n = 10
、m = 3
になります。
7行目: cout << round(n / m) << endl;
ここが四捨五入のポイントです。
n / m
で割り算を行い、小数を得ます。- 例:
10 / 3 = 3.333...
- 例:
round(...)
関数を使って四捨五入します。round(3.333...) = 3
round(2.7) = 3
round(2.5) = 3
(小数0.5は切り上げ)
cout
で結果を出力します。endl
は改行を意味します。
実行例
//入力:
10 3
//出力:
3
//入力:
5 2
//出力:
3
まとめ
<cmath>
のround
を使えばC++で簡単に四捨五入ができる。- 入力を
double
で受け取ることで小数の割り算に対応可能。 round(n / m)
で「n ÷ m の結果を四捨五入」できる。
シンプルですが実用的なテクニックなので、ぜひ活用してみてください。