C как double вывести с 2 знаками после запятой
Перейти к содержимому

C как double вывести с 2 знаками после запятой

  • автор:

Как вывести 2 знака после точки?

Дан массив вещественных чисел из 8 элементов.
Определить сумму положительных элементов.
Формат входных данных
В одной строке 8 вещественных чисел
Формат выходных данных
Сумма положительных c точностью до 2-х знаков после точки
Примеры:
Вход
1.5 2 3 4 5 6 7 8
Выход
36.50

1 2 3 4 5 6 7 8 9 10
#include #include using namespace std; int main(){ float a[8],sum=0; for (int i=0;i8;i++){ cin >> a[i]; if (a[i]>0){sum+=a[i];}} cout  ; }

Написал программу выводит 36.5, как сделать, чтобы было 36.50 т.е. 2 знака после точки?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как вывести 3 знака после запятой?
как вывести 3 числа после запятой? вот код int main() < enum < cm, mm >; const int.

Найти в строке цифры, идущие после знака &, и вывести их
Друзья выручайте, есть строка типа Ia_НН1=&35А Ib_НН1=&36А Ic_НН1=&37А, как мне в ней найти цифры.

Как вывести значение типа double с 5 знаками после точки без лишних преобразований?
Как вывести число с 5 знаками после точки без лишних преобразований.

Как сделать так, чтобы переводил буквы в верхний регистр после точки, восклиц.знака,вопросительного знака
Есть код на языке Perl. Переводит буквы в верхний регистр. Как сделать так, чтобы переводил буквы в.

Как вывести double до 2 знаков после запятой?

Но числа выводятся в непонятно каком формате: некоторые так, как надо, другие выводятся в стандартном виде, третьи же вообще округляются до целых с отбрасыванием цифр после запятой. Подскажите, как же это сделать?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Количество знаков после запятой double, Long double
Есть число большой точности A. A=-1.768573656315270993281 742915329544712934120053405549882.

Подсчет знаков после запятой в переменной double
Не получается, так как в double числа хранятся не точно, и на моменте, когда i == 3345333, d ==.

7595 / 6418 / 2924
Регистрация: 14.04.2014
Сообщений: 27,939

out  fixed  setprecision(2)  a;

Регистрация: 10.11.2013
Сообщений: 84

ЦитатаСообщение от nmcf Посмотреть сообщение

out  fixed  setprecision(2)  a;

Добавлено через 21 час 20 минут
У меня вопрос: этот метод выводит только 2 цифры после запятой или именно округляет до 2 цифр? Мне нужно второе.

105 / 105 / 51
Регистрация: 11.04.2014
Сообщений: 160
Округляет. И ещё кстати библиотеку не забыл подключить?

#include

Эксперт С++

4984 / 3091 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10

ЦитатаСообщение от Diplomate Посмотреть сообщение

У меня вопрос: этот метод выводит только 2 цифры после запятой или именно округляет до 2 цифр? Мне нужно второе.

Что мешает проверить самому?
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Точность в N знаков после запятой числа типа double
Добрый день, уважаемы форумчане! Возникла проблема, заключающаяся в изменении значения.

Какая функция определяет количество знаков после запятой переменной double?
У меня есть программа, которая считает сумму ряда, в неё вводится значение x, точность, с которой.

Как в языке С++ вывести значение изменения с точностью k знаков после запятой?
Как в языке С + + вывести значение изменения с точностью k знаков после запятой?

Сколько Знаков после запятой имеет тип double и почему при выводе они отбрасываются
Здравствуйте! Написал функцию по расчету квадратного корня от числа. Функция работает.

Числовые типы данных

До сих пор рассматривались только один тип целочисленных переменных — int . На самом деле существует несколько основных целочисленных типов, тип int — лишь один (но наиболее часто используемый) из них.

Таблица основных целочисленных типов.

Название Размер Знаковый Синонимы
short 2 байта Знаковый short int , signed short , signed short int
unsigned short 2 байта Беззнаковый unsigned short int
int 4 байта Знаковый signed int
unsigned 4 байта Беззнаковый unsigned int
long 4 байта Знаковый long int , signed long , signed long int
unsigned long 4 байта Беззнаковый unsigned long int
long long 8 байт Знаковый long long int , signed long long , signed long long int
unsigned long long 8 байт Беззнаковый unsigned long long int

То есть типы бывают “короткими” ( short ), обычными, длинными ( long ) и очень длинными ( long long ). Последний тип является расширением компилятора GNU C++ и не является стандартным типом для языка C++, поэтому он может отсутствовать в других реализациях языка или называться по-другому (например, в компиляторе Microsoft Visual C++ аналогичный тип называется int64 ). Чем “длиннее” тип, тем большее число различных значений он может принимать, тем больше памяти он занимает. Также типы бывают знаковыми ( signed ), которые могут принимать как положительные, так и отрицательные значения и беззнаковые ( unsigned ), которые принимают только неотрицательные значения.

Таблица значений, которые могут принимать различные типы:

Название Размер Минимальное значение Максимальное значение
short 16 бит -2 15 =- 32768 2 15 -1 = 32767
unsigned short 16 бит 0 2 16 -1 = 65535
int , long 32 бита -2 31 = -2147483648 2 31 -1 = 2147483647
unsigned , unsigned long 32 бита 0 2 32 -1 = 4294967295
long long 64 бита -2 63 = -9223372036854775808 2 63 -1 = 9223372036854775807
unsigned long long 64 бита 0 2 64 -1 = 18446744073709551615

На самом деле в стандарте языка C++ не оговорены конкретные значения размеров типов. Оговорено только то, что одинаковые знаковые и беззнаковые типы имеют одинаковые размеры, и размер меньшего типа всегда не превосходит размера большего типа. Вот какие размеры могут быть у этих типов в зависимости от разрядности процессора компьютера:

Тип 16-битный процессор 32-битный процессор 64-битный процессор
short 2 байта 2 байта 2 байта
int 2 байта 4 байта 4 байта
long 4 байта 4 байта 8 байт
long long 8 байт 8 байт

Действительные типы

Действительные (вещественные) числа представляются в виде чисел с десятичной точкой (а не запятой, как принято при записи десятичный дробей в русский текстах). Для записи очень больших или очень маленьких по модулю чисел используется так называемая запись “с плавающей точкой” (также называемая “научная” запись). В этом случае число представляется в виде некоторой десятичной дроби, называемой мантиссой, умноженной на целочисленную степень десяти (порядок). Например, расстояние от Земли до Солнца равно 1.496·10 11 , а масса молекулы воды 2.99·10 -23 .

Числа с плавающей точкой в программах на языке C++, а также при вводы и выводе записавыются в виде мантиссы, затем пишется буква e , затем пишется порядок. Пробелы внутри этой записи не ставятся. Например, указанные выше константы можно записать в виде 1.496e11 и 2.99e-23 . Перед самим числом также может стоять знак минус.

Для представления в памяти ЭВМ действительных чисел существует три типа:

Тип Точность Размер Количество знаков мантиссы Минимальное положительное значение Максимальное значение
float Одинарная 4 байта 7 1.4e-45 3.4e38
double Двойная 8 байт 15 5.0e-324 1.7e308
long double Расширенная 10 байт 19 1.9e-4951 1.1e4932

Операция деления

Для действительных чисел определены операции сложения, вычитания, умножения и деления.

При этом операция деления выполняется по-разному для переменных и констант целочисленного типа и для переменных и констант действительных типов. В первом случае деление производится нацело с отбрасыванием дробной части, во втором случае — деление производится точно и результатом является действительное число. Более точно, если делимое и делитель одновременно являются целочисленными константами или переменными целочисленных типов, то деление будет целочисленным, а если хотя бы одно из них действительное, то деление будет действительным. Например:

cout 

выведет 3 в первой строке и 3.33333 в остальных строках.

Результат выполнения деления не зависит от того, какой переменной будет присвоен результат. Если написать double a = 10 / 3; , то переменная a будет равна 3, так как деление 10/3 будет целочисленным, независимо от того, чему будет присвоен результат.

Приведение типов

Иногда возникает необходимость привести выражение одного типа к такому же выражению другого типа. Например, если есть две переменные a и b типа int и требуется вычислить их частное (не целочисленное) и записать в переменную d типа double . Следующий код:

double d; d = a / b

будет неверным, т.к. деление a / b будет целочисленным. Правильный код такой:

double d; d = (double)a / b;

В этом примере используется операция приведения типа: (double)a . Эта операция возвращает значение типа double , но равное значению переменной a . В результате деление будет выполняться, как деление вещественных чисел, поскольку будет выполняться деление действительного значения на целочисленное.

Операция приведения типа не меняет тип самой переменной и ее значение, а только возвращает значение другого типа.

Упражнение

Определите, чему будут равны следующие переменные

int a = 13 / 5; int b = 13 % 5; int c = 13.0 / 5; double d = 13 / 5; double e = 13 % 5; double f = 13.0 / 5; double g = 13 / 5 + 2 / 5; double h = 13.0 / 5 + 2.0 / 5; int i = 13.0 / 5 + 2.0 / 5;

Список функций

В стандартную математическую библиотеку языка Си (а, значит, и C++) входит множество специальных математических функций, которые нужно знать и уметь использовать. Для того, чтобы использовать эти функции в своей программе, необходимо подключить заголовочный файл, содержащий описания этих функций, что делается строчкой в начале программы:

#include

Функция от одного аргумента вызывается, например, так: sin(x) . Вместо числа x может быть любое число, переменная или выражение. Функция возращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:

y = sin(x); cout 

Все перечисленные в таблице функции работают с типом double , этот тип считается основным типом для работы с действительными числами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *