Хотелось бы узнать, как найти длину целого числа в C.
Например:
и т. Д.
Как это сделать в C?
На мой взгляд, самое короткое и простое решение будет:
int length , n; printf("Enter a number: "); scanf("%d", &n); length = 0; while (n > 0) { n = n / 10; length++; } printf("Length of the number: %d", length);
Я думаю, что я нашел самый эффективный способ найти длину целого числа это очень простой и элегантный способ вот оно:
int PEMath::LengthOfNum(int Num) { int count = 1; //count starts at one because its the minumum amount of digits posible if (Num < 0) { Num *= (-1); } for(int i = 10; i <= Num; i*=10) { count++; } return count; // this loop will loop until the number "i" is bigger then "Num" // if "i" is less then "Num" multiply "i" by 10 and increase count // when the loop ends the number of count is the length of "Num". }
продолжайте делить на десять, пока не получите ноль, а затем просто выведите количество делений.
int intLen(int x) { if(!x) return 1; int i; for(i=0; x!=0; ++i) { x /= 10; } return i; }