Как исправить округление действительных чисел? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

// феномен действительных чисел.cpp: определяет точку входа для консольного приложения.
/*
Если мы вводим от 0.1 до 0.4 коп то мы чего то получаем на одну копейку меньше введенной,например ввели 9.03,а получили 9.02.А вот при вводе 9.05 мы и при выводе получим 9.05.Мне нужно,что бы при вводе любой дробной части например 9.01 и такое же выводилось.
*/
//Проверено в Code Bloks 16.01
//и  VS 2013
 
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    double a = 0.3 ;
int rub=a;
int cop=(a-rub)*100;
     
        printf("rub = %d\n",rub);
        printf("cop = %d\n",cop);
 
    system("pause");
    return 0;
}

Решение задачи: «Как исправить округление действительных чисел?»

textual
Листинг программы
// феномен действительных чисел.cpp: определяет точку входа для консольного приложения.
/*
Если мы вводим от 0.1 до 0.4 коп то мы чего то получаем на одну копейку меньше введенной,например ввели 9.03,а получили 9.02.А вот при вводе 9.05 мы и при выводе получим 9.05.Мне нужно,что бы при вводе любой дробной части например 9.01 и такое же выводилось.
*/
//Проверено в Code Bloks 16.01
//и  VS 2013
 
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    double a = 0.3 ;
int rub=a;
int cop=(a-rub)*100+0.000001;
     
        printf("rub = %d\n",rub);
        printf("cop = %d\n",cop);
 
    system("pause");
    return 0;
}

Объяснение кода листинга программы

  1. Создается переменная типа double с именем a и значением 0.3.
  2. Переменная a приводится к целочисленному типу данных с именем rub.
  3. Переменная cop вычисляется как разница между a и rub, умноженная на 100 и дополненная до 3 знаков после запятой.
  4. Выводится значение переменной rub.
  5. Выводится значение переменной cop.
  6. Программа ожидает нажатия любой клавиши для продолжения работы.
  7. Возвращается 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы