/* ------------------------------------------------------------ * [問題] * 正の実数(double型)を 1 つ読み込み,その小数点以下第 1 位の * 値を四捨五入した整数を出力するプログラムを作りなさい. * * (例)※[ ]内がユーザからの入力を表す * * 実数 = ? [3.14] * 四捨五入すると 3 * * 実数 = ? [123.5] * 四捨五入すると 124 * * 実数 = ? [2.1] * 四捨五入すると 2 * ------------------------------------------------------------ * プログラム例 * (C) 2005 Hirohisa AMAN */ #include int main(void){ double x, y; int n; printf("実数 = ? "); scanf("%lf", &x); /* x の小数点以下を切り捨てた整数を n とする */ n = (int)x; /* y には x の小数点以下が入る */ y = x - n; if ( y*10 < 5 ){ /* 小数点以下が 5 未満の場合 */ printf("四捨五入すると %d\n", n); } else{ /* 小数点以下が 5 以上の場合 */ printf("四捨五入すると %d\n", n+1); } return 0; }