用循环结构和数组编译解决

编写一个程序,让用户输入一个整数,使用数
组求出各个位置上的最大数字和最小数字。
如用户输入:31415926;
输出:max=9,min=1
用循环结构和数组编译解决,力求简单简洁

#include  <stdio.h>
int main()
{
      int a[100];
      int n,i=0,j,max,min;
      scanf("%d",&n);
      while(n!=0)
      {
        a[i++] = n%10;
        n/=10;
      }
      for(j=0;j<i;j++)
      {
          if(j==0)
              max = min = a[j];
          else if(max < a[j])
              max = a[j];
          else if(min > a[j])
              min = a[j];
      }
      printf("max=%d,min=%d",max,min);
}