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

Количество розрядов - C++

Восстановить пароль Регистрация
 
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
14.05.2011, 14:04     Количество розрядов #1
Нужно подсчитать количество розрядов вводимого числа, например:
Пример ввода
123
Пример вывода
3

вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main() {
    int numb;
    int index;
    scanf("%d", &numb);
 
    for ( index = numb; !(index % 10); index++) {
        index /= 10;
    }
    cout << index;
    system("pause");
    return 0;
}
заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2011, 14:04     Количество розрядов
Посмотрите здесь:

Подсчитать количество положительных и отрицательных чисел и количество нулей в массиве C++
C++ количество букв в слове, количество предложений, самое длинное слово в предложении
C++ Определить количество выигрышей, количество проигрышей и количество ничьих данной команды
В массиве записаны результаты N игр футбольной команды. Определить количество выигрышей, количество проигрышей и количество ничьих данной команды. C++
C++ Найти через индекс количество отрицательных и количество положительных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
14.05.2011, 14:06     Количество розрядов #2
Цитата Сообщение от Spirited Посмотреть сообщение
Нужно подсчитать количество розрядов вводимого числа, например:
Пример ввода
123
Пример вывода
3

вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main() {
    int numb;
    int index;
    scanf("%d", &numb);
 
    for ( index = numb; !(index % 10); index++) {
        index /= 10;
    }
    cout << index;
    system("pause");
    return 0;
}
заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
 
int
main()
{
    std::string buff;
    std::cin>>buff;
    std::cout<<buff.length()<<std::endl;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.05.2011, 14:10     Количество розрядов #3
Можно проще:
C
1
2
3
4
5
6
7
8
9
10
#include <math.h>
#include <stdio.h>
 
int main(){
  int numb, res;
  scanf("%d", &numb);
  res = log10(numb) + 1;
  printf("%d", res);
  return 0;
}
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
14.05.2011, 14:14  [ТС]     Количество розрядов #4
Рябята, нужно написать прогу без дополнительных функций, кроме ввода-вывода, использовать только циклы
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.05.2011, 14:17     Количество розрядов #5
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main(){
  int numb, res = 1;
  scanf("%d", &numb);
  for(; numb /= 10; res++);
  printf("%d", res);
  return 0;
}
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
14.05.2011, 14:47  [ТС]     Количество розрядов #6
спасибо всем огромное, вы мне очень помогли!!!

Добавлено через 9 минут
Может кому пригодится другой вариант (мой вариант ):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main() {
    int numb;
    int res;
    
    scanf("%d", &numb);
    
    for ( res = 1; numb > 1; res++ ) {
        numb /= 10;
    }
    printf("%d\n", res);
    
    return 0;
}
Yandex
Объявления
14.05.2011, 14:47     Количество розрядов
Ответ Создать тему
Опции темы

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