#include <stdio.h>
char digits[10] ={'0','1','2','3','4','5','6','7','8','9'};
void print_integer_as_string(int num) {
// Your logic here
int MAXTEN = 1000000000;
int digit;
if (num == 0) {
printf("0");
return;
}
if (num < 0) {
printf("%c ", '-');
num= -num ;
}
while ((int) ((num/MAXTEN) == 0)) {
MAXTEN = MAXTEN / 10;
}
while (MAXTEN > 0) {
digit= (int) (num/MAXTEN);
printf("%c ", digits[digit]);
num = num - digit * MAXTEN;
MAXTEN = MAXTEN /10;
}
}
int main() {
int num;
scanf("%d", &num);
print_integer_as_string(num);
return 0;
}
Find the leading one dividing the number by the largest power of ten in an int.
Input
123
Expected Output
1 2 3