c语言小白 数组问题!

# 数组中,怎么以-1为结束标志,但不作为读取数。

输入一组数据以后,以-1作为结束标志,但是每次-1也会作为读取书参与运算,该怎么办?
比如这题:
输入一组数据(不超过20个),存入数组中,并找出最小值及其所在的下标(一组数据以-1作为结束标志)
实在困惑!

#include<stdio.h>
#include<string.h>
#define BUF_SIZE 20
int main()
{
    int i,min,min_idx,arr[BUF_SIZE];
    memset(arr,0x0,BUF_SIZE);
    for(i=0;i<BUF_SIZE;i++)
    {
        int temp;
        scanf("%d",&temp);
        if(temp == -1)
            break;
        arr[i] = temp;
    }
    int n = i;
    min = arr[0];
    min_idx = 0;
    for(i=0;i<n;i++)
    {
        if(min>arr[i])
        {
            min = arr[i];
            min_idx = i;
        }
    }
    printf("Output###: Min=%d   Min Index=%d",min,min_idx);
    return 0;
}

int num[20];
for(int i=19;i>-1;i--)
{
fscanf(stdin,"%d",&num[i]);
}