Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
Abylaikhan
-8 / 3 / 0
Регистрация: 14.11.2011
Сообщений: 22
#1

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

09.12.2011, 07:21. Просмотров 3668. Ответов 7
Метки нет (Все метки)

Дано положительное действительное число X. Выведите его первую цифру после десятичной точки. При решении этой задачи нельзя пользоваться условной инструкцией и циклом.
 Комментарий модератора 
Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят.

 Комментарий модератора 
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.

 Комментарий модератора 
Официальным языком форума является русский язык.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 07:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести первую цифру после десятичной точки. (C++):

Выведите первую цифру числа после десятичной точки - C++
Дано положительное действительное число X. Выведите его первую цифру после десятичной точки. Пример Входные данные: 14.85 ...

Вывести в выходной файл округленное до n знаков после десятичной точки число E - C++
Выведите в выходной файл округленное до n знаков после десятичной точки число E. Число Е, округленное до 25 знаков после десятичной точки,...

Определить и вывести первую и последнюю цифру числа - C++
Не знаю, как сделать, чтобы программа одновременно находила первое и последнее число #include <stdio.h> #include <conio.h> int...

В заданной строке найти первую цифру и вывести её - C++
Доброго времени суток.Помогите решить задачку: в заданной строке найти первую цифру и вывести её.

Округление числа до n знаков после десятичной точки - C++
Решил задачу для новичков по C++. Задача совсем для зелёных новичков, кто только-только начал изучать C++, и у меня есть ощущение, что её...

Округлить число до 25 знаков после десятичной точки - C++
Есть простая задача: вот я ее решаю таким способом, т.к в задании написано округлить #include <fstream> #include <string>...

7
greeezz
273 / 166 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.12.2011, 07:42 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using std::cout;
 
#include <stdio.h>
 
int main() {
 
    float a = 23.41;
    float b;
    char c[10];
 
    b = a - int(a);
 
    sprintf(c, "%f", b);
    cout << c[2];
    return 0;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,849
09.12.2011, 08:58 #3
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <math.h>
 
int main(void){
    double n;
    
    while ( printf("Number: ") && scanf("%lf", &n) == 1 && n > 0.0 )
        printf("First digit after point: %d\n", (int)((n - floor(n)) * 10.0));
    
    return 0;
}
1
Abylaikhan
-8 / 3 / 0
Регистрация: 14.11.2011
Сообщений: 22
09.12.2011, 13:47  [ТС] #4
Ты не знаешь как написать то же самое на с++?
0
greeezz
273 / 166 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.12.2011, 17:12 #5
Цитата Сообщение от Abylaikhan Посмотреть сообщение
Ты не знаешь как написать то же самое на с++?
а чем вас не устраивает то что я выше предложил?
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.12.2011, 17:39 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    double d;
 
    cout << "Enter d = ";
    cin >> d;
 
    cout << (int) ( ( (d - ( (int) d )) *10 ) )<<endl;
 
    system ("pause");
    return 0;
}
2
greeezz
273 / 166 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.12.2011, 17:45 #7
Цитата Сообщение от go Посмотреть сообщение
C++
1
(int) ( ( (d - ( (int) d )) *10 ) )
отличная идея!.. я даже и не подумал об этом
#include <windows.h> немного лишний
0
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,849
09.12.2011, 20:05 #8
Цитата Сообщение от 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;
}
1
09.12.2011, 20:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 20:05
Привет! Вот еще темы с ответами:

Вычислить функцию с точностью 6 знаков после десятичной точки - C++
)Вычислить функцию f(x,a)= при x=0.4, 0.6,..., 1.2 и a=2, 3, 4, 5 с точностью 6 знаков после десятичной точки.

Определить и вывести первую цифру из дробной части положительного вещественного числа - C++
Используя арифметические операции, определить и вывести первую цифру из дробной части положительного вещественного числа x...

Выведите в выходной файл округленное до n знаков после десятичной точки число E - C++
Как пишутся очень короткие программы на C++ или C (менее 150 символов, не считая пробелов и табуляций)? Например, задача Вот мое...

В числе зачеркнули первую справа цифру и приписали ее слева - вывести полученное число - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; int main(int argc, char** argv) { float d,c; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru