1

Тема: Ділення двох чисел.

Чому в мене виводить нуль?

float mark;     
  mark=12/15;
  printf ("%.2f",mark);

Так як треба щоб вивело 0.8

2

Re: Ділення двох чисел.

12 - ціле число. 15 - теж ціле. Тому / в операції 12/15 - цілочислене ділення, тобто без залишку - в цьому випадку 0.
Вам треба писати

mark = 12.0 / 15.0;

щоб компілятор зрозумів, що це числа з рухомою точкою.
Звісно, достатньо вказати тільки одне число з рухомою точкою, наприклад, 12./15 - але добра практика в C/C++ - уникати неявного приведення типів. До речі, з цієї точки зору правильніше буде написати

mark = 12f / 15f;

щоб константи були представлені не типом double і, знову ж таки, не було приведення типів.

Подякували: HegardD1

3

Re: Ділення двох чисел.

Достатньо щоб одне з чисел було дійсне... наприклад: 12./5 дасть нам 2,4 так само як і 12/5.

4 Востаннє редагувалося RosOle (15.05.2014 08:40:37)

Re: Ділення двох чисел.

Втупив..не прочитав попередній пост.... підкажіть як видалити повідомлення?