Тема: Ділення двох чисел.
Чому в мене виводить нуль?
float mark;
mark=12/15;
printf ("%.2f",mark);
Так як треба щоб вивело 0.8
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Ділення двох чисел.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Чому в мене виводить нуль?
float mark;
mark=12/15;
printf ("%.2f",mark);
Так як треба щоб вивело 0.8
12 - ціле число. 15 - теж ціле. Тому / в операції 12/15 - цілочислене ділення, тобто без залишку - в цьому випадку 0.
Вам треба писати
mark = 12.0 / 15.0;
щоб компілятор зрозумів, що це числа з рухомою точкою.
Звісно, достатньо вказати тільки одне число з рухомою точкою, наприклад, 12./15 - але добра практика в C/C++ - уникати неявного приведення типів. До речі, з цієї точки зору правильніше буде написати
mark = 12f / 15f;
щоб константи були представлені не типом double і, знову ж таки, не було приведення типів.
Достатньо щоб одне з чисел було дійсне... наприклад: 12./5 дасть нам 2,4 так само як і 12/5.
Втупив..не прочитав попередній пост.... підкажіть як видалити повідомлення?
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися