Good Vertical Whitespace unsigned int numDigits(unsigned long x) { return static_cast(log10(x)) + 1; } void getDigits(std::vector &digits, unsigned long number) { unsigned int i, n; n = numDigits(number); digits.resize(n); for (i = n - 1; i > 0; i--) { digits[i] = number % 10; number = number / 10; } digits[i] = number; } int main() { unsigned int number; while (std::cin >> number) { std::vector digits; getDigits(digits, number); std::cout << digits[0]; for (int i = 1; i < digits.size(); i++) std::cout << ", " << digits[i]; std::cout << std::endl; } }