利用数组求20个数的总值和最值,是哪里出错了导致输出不对啊?

#include<stdio.h>
main()
{
int max,min,i,sum=0,a[20];

for(i=0;i<20;i++)
{
    scanf("%d",&a[i]);
    max=min=0;
    sum=0;
    for(i=1;i<20;i++)
    {
        sum=sum+a[i];
        if(a[i]<a[min]) min=i;
        if(a[i]>a[max]) max=i;
    }
 } 
 printf("sum=%d,max=%d,min=%d",sum,a[max],a[min]);

}

你数还没扫描完呢,就开始遍历数组了,肯定不对啊