#include <stdio.h>
void print_integer_as_string(int num) {
// Handle 0 and negative numbers
if (num == 0) {
printf("0");
return;
}
if (num < 0) {
printf("- ");
num = -num; // make it positive for processing
}
int digits = 0;
int num_cpy = num;
// Count digits
while (num_cpy > 0) {
digits++;
num_cpy /= 10;
}
char arr[digits];
int idx = 0;
// Store digits in reverse order
while (num > 0) {
arr[idx++] = (num % 10) + '0';
num /= 10;
}
// Print digits in correct order with spaces
for (int i = digits - 1; i >= 0; i--) {
printf("%c", arr[i]);
if (i > 0) {
printf(" ");
}
}
}
int main() {
int num;
scanf("%d", &num);
print_integer_as_string(num);
return 0;
}
Input
123
Expected Output
1 2 3