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

Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
netalicka
0 / 0 / 0
Регистрация: 31.01.2012
Сообщений: 10
09.02.2012, 21:41     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д #1
1) Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д.



2) Вычислить и вывести на экран в виде таблицы значение функции y(x) на интервале от x0 до xn с шагом dx. A, B, C, D, X, x0, xn и dx - вещественные числа, значения которых вводятся с клавиатуры.
Для операций ввода-вывода использовать возможности библиотеки stdio.h.
см. вложение
Вложения
Тип файла: doc Doc1.doc (25.5 Кб, 26 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2012, 21:41     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д
Посмотрите здесь:

C++ Определения, равна сумма цифр целой части вещественного числа сумме такого же количества цифр в дробной части
C++ Программа подсчитывающая количество повторов цифр в числе.
C++ Рекурсивный подсчет количества нечетных цифр в числе
C++ Рекурсия: подсчет количества цифр натурального числа
C++ Дано целое трехзначное число. Определить, равен ли квадрат этого числа сумме кубов его цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
09.02.2012, 22:30     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д #2
1)
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <math.h>
int main( void )
{
    double x;
    scanf( "%f", &x );
    printf( "X has %d digits", ( int )log10( x ) + 1 );
    return 0;
}
2) здесь на форуме куча готовых решений для похожих задач - ищите.
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
09.02.2012, 22:52     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д #3
Еще вариант для первой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
#include "conio.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char * number = new char[10];
    int RealNumber;
    cout<<"Введите число: ";
    cin>>RealNumber;
    itoa(RealNumber,number,10);
    int count = strlen(number);
    cout<<"Данное число состоит из "<<count<<" цифр.";
    delete number;
    _getch();
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
10.02.2012, 07:30     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д #4
x1Mike7x, jood, а если ввести отрицательное число?

x1Mike7x, 1) для double у scanf спецификатор %lf, а на %f, 2) если ввести ноль, то тоже считает неправильно.

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <math.h>
 
int main(void)
{
    int x;
    scanf("%d", &x);
    printf("Number %d has %d digits\n", x, (x ? (int) log10(fabs(x)) + 1 : 1));
    return 0;
}
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
10.02.2012, 22:55     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д #5
Nameless One,
Тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int number;
    cout<<"Введите число: ";
    cin>>number;
    int i = 1;
    if (abs(number) >= 10) {
        do {
            number = number / 10;
            i++;
    }
        while (abs(number) >= 1);
    }
    cout<<"Число состоит из "<<i<<" цифры.";
    _getch();
}
Yandex
Объявления
10.02.2012, 22:55     Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д
Ответ Создать тему
Опции темы

Текущее время: 05:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru