You need to output the data as you see fit. It might be bad practice to store numbers in an array with space characters where the numbers aren't represented by their character values (I doubt you follow this sentence, I barely do).
You need to know what is in your array and treat it how you see fit. Throw something like:
Code:
if (arr[i] == 32)
printf("%c", arr[i]);
else
printf("%d", arr[i]);
This is obviously a bad example, but I hope you see the point. You could expand that if statement to check for other things like tabs, letters, punctuation, etc.
It is not good to mix data types inside of a single array because it creates situations like this. If you have different data types, try using a struct to store the data.