Форум программистов, компьютерный форум CyberForum.ru

Вывести первую цифру после десятичной точки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что происходит с курсором? http://www.cyberforum.ru/cpp-beginners/thread402670.html
Форумчане, подскажите пожалуйста, что происходит с курсором, почему это так происходит. Выкладываю код. #include "StdAfx.h" #include <windows.h> #include <fstream> #include <string> #include <iostream> #include <iomanip>
C++ Списки .задача Помогите, пожалуйста решить задачку, буду очень благодарна: N серых и M белых мышей сидят по кругу. Кошка ходит по кругу по часовой стрелке и съедает каждую s-ую мышку. В первый раз счет начинается с серой мышки. Напишите программу, определяющий порядок, в котором сидели мышки, если через некоторое время осталось K серых и L белых мышей. В решении использовать структуру данных «список». ... http://www.cyberforum.ru/cpp-beginners/thread402664.html
C++ Рекурсия
Доброго времени суток! (Рекурсия). Вычислить сумму: Заранее спасибо!
C++ Вводится последовательность слов до встречи слова "stop". Образовать предложение, в котором разместить слова, состоящие более чем из 5 букв.
Вводится последовательность слов до встречи слова "stop". Образовать предложение, в котором разместить слова, состоящие более чем из 5 букв. Слова в предложении разделить запятыми. помогите((
C++ Описать функцию, которая выполняет над двумя векторами действия (сложение, умножение на скаляр, скалярное произведение, длина вектора) http://www.cyberforum.ru/cpp-beginners/thread402659.html
Доброго времени суток! Нужно описать функцию, которая выполняет над двумя векторами действия (сложение, умножение на скаляр, скалярное произведение, длина вектора), заданные третьим параметром как указатель функции. Заранее спасибо!
C++ Объясните,если знаете. Задание:Модифицировать программу таким образом, чтобы при наличии макроопределения OUTPUT программа производила вывод не в поток а при помощи окна сообщения ОС Windows. Какое окно тут имеется ввиду?То где компилируется программа? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.12.2011, 20:05     Вывести первую цифру после десятичной точки.
Цитата Сообщение от greeezz Посмотреть сообщение
отличная идея!..
Если не пробовать ввести что-то вроде 9999999999.1
Правильнее всё-таки
C
1
double_val - floor(double_val)
Добавлено через 23 минуты
Цитата Сообщение от greeezz Посмотреть сообщение
а чем вас не устраивает то что я выше предложил?
Кстати, тоже можно проще сделать (ну, если не заморачиваться, что могут ввести не число...)
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <string.h>
#include <ctype.h>
    
int main(void){
    char buf[BUFSIZ], * p;
    
    while ( printf("Number: ") && fgets(buf, BUFSIZ, stdin) && isdigit(*buf) )
        printf("First digit after point: %c\n", ( ( p = strchr(buf, '.') ) && ( isdigit(*(++p)) ) ) ? *p : '0');
    
    return 0;
}
Добавлено через 9 минут
Цитата Сообщение от easybudda Посмотреть сообщение
если не заморачиваться, что могут ввести не число
Быдлокодерский патч
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <string.h>
#include <ctype.h>
    
int main(void){
    double d;
    char buf[BUFSIZ], * p;
    
    while ( printf("Number: ") && scanf("%lf", &d) == 1 && d > 0.0 && sprintf(buf, "%f", d) )
        printf("First digit after point: %c\n", ( ( p = strchr(buf, '.') ) && ( isdigit(*(++p)) ) ) ? *p : '0');
    
    return 0;
}
 
Текущее время: 03:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru