用c语言如何得n位数的最大值,最小值,与平均值

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
int main()
{
    int i,N,max,min;
    double average,sum=0;
    int arr[20];
    scanf("%d",&N);
    for(i=0;i<N;i++)
    {
        scanf("%d",&arr[i]);
    }
    min=max=arr[0];
    for(i=0;i<N;i++)
    {
        if(arr[i]>max)
            max=arr[i];
        if(arr[i]<min)
            min=arr[i];
        sum+=arr[i];
    }    
        average=sum/N;
    printf("max=%d\nmin=%d\naverage=%.2f\n",max,min,average);
    return 0;
}


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