Как подсчитать количество цифр в номере до 1000 цифр в C / Stack Overflow

Как я могу посчитать количество цифр в номере до 1000 цифр в C или C ++

#include <stdio.h>

int main()
{
int num,counter=0;

scanf("%d",&num);

while(num!=0){
num/=10;
counter++;
}

printf("%d\n",counter);
}

Этот код работает только для цифр до 10 цифр — я не знаю почему.

0

Решение

Поскольку большинство компьютеров не может содержать целое число, равное 1000 цифр, вам придется либо работать со входом в виде строки, либо использовать Большое количество библиотека. Давайте попробуем первое.

При обработке ввода как строки каждая цифра является символом в диапазоне '0' в '9'включительно.

Итак, это сводится к подсчету символов:

std::string text;
cin >> text;
const unsigned int length = text.size();
unsigned int digit_count = 0;
for (i = 0; i < length; ++i)
{
if (!std::isdigit(text[i]))
{
break;
}
++digit_count;
}
cout << "text has " << digit_count << "digits\n";
0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector