本题主要关注一下C++和Java在float转整型时的区别、 float x = 5.0; 在C++中,int y = x * 10; 即可,或者 int y = (int)x * 10;,在一个变量上强转一次,整个表达式都默认强转。 而在Java中,int y = x * 10;是错的,应该 int y = (int)(x * 10); 整个表达式放在一起强转。
intmain() { float x; for (; cin >> x;) { int y = x * 10; int base = y / 10; int remain = y % 10; cout << (remain < 5 ? base : base + 1) << endl; } return0; }
publicclassMain{ publicstaticvoidmain(String[] args){ Scanner in = new Scanner(System.in); for (; in.hasNext();) { float x = in.nextFloat(); int y = (int)(x * 10); int base = y / 10; int remain = y % 10; System.out.println(remain < 5 ? base : base + 1); } } }