c++についてです。
以下のコードで、一番下の部分についてですが、(else以下の部分)例えば入力でj=45、m=45、e=35が与えられたとすると、出力されるのは、41.67でした。しかし、自分は小数第三位以下で切り捨てたいので、41.66と出力してもらいたいのですが、いったいどうすればいいのでしょうか。。。
c++
1#include <iostream> 2#include <string> 3#include <cmath> 4#include <iomanip> 5#include <math.h> 6 7using namespace std; 8 9int main() 10{ 11 double j, m, e; 12 cin >> j >> m >> e; 13 14 15 if (j <= -2 || j >= 101 || m <= -2 || m >= 101 || e <= -2 || e >= 101) { 16 cout << "範囲外の得点があります" << endl; 17 } 18 else if (j == -1 && m == -1 && e == -1) { 19 cout << "0.00" << endl; 20 } 21 else if (j == -1 && m == -1 && e != -1) { 22 cout << e << ".00" << endl; 23 } 24 else if (j == -1 && m != -1 && e == -1) { 25 cout << m << ".00" << endl; 26 } 27 else if (j != -1 && m == -1 && e == -1) { 28 cout << j << ".00" << endl; 29 } 30 else if (j == -1 && m != -1 && e != -1) { 31 cout << fixed; 32 cout << setprecision(2) << (double)((m + e) / 2) << endl; 33 } 34 else if (j != -1 && m == -1 && e != -1) { 35 cout << fixed; 36 cout << setprecision(2) << (double)((j + e) / 2) << endl; 37 38 39 } 40 else if (j != -1 && m != -1 && e == -1) { 41 cout << fixed; 42 cout << setprecision(2) << (double)((m + j) / 2) << endl; 43 } 44 else { 45 cout << fixed; 46 cout << setprecision(2) << (double)((j + m + e) / 3) << endl; 47 } 48 49 50 51 52}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/18 05:10