分离整数的各个数位编程题目

分离整数的各个数位
描述
从键盘输入一个任意的9位以内的整数,要求正确地分离出它的每一位数,并分别在屏幕上输出,输出采用每行输出一个数的方式,不带其它符号。
输入
一个任意的9位以内整数
输出
该整数的每一位(一行只显示一位)
输入样例 1 
123
输出样例 1
1
2
3

#include <stdio.h>

int main(void) { 
    int n,i=0;
    scanf("%d",&n);
    int arr[9];
    while(n>0)
    {
        arr[i++]=n%10;
        n/=10;
    }
    for(i=i-1;i>=0;i--)
        printf("%d\n",arr[i]);
    return 0;
}


#include <stdio.h>
int main() {
 char s[20];
 int n,i;
 scanf("%d",&n);
 sprintf(s,"%d",n);
 i=0;
 while (1) {
  if (s[i]==0) break;
  if (s[i]=='-') continue;
  printf("%c\n",s[i]);
 }
 return 0;
}