我的想法是输出输出一组数中的最大值与最小值的差,第一行输入有几个数,然后第二行输入这些数,但最大值没问题,最小值直接出了一个超级大的数,希望解答!

#include <stdio.h>
#include<math.h>
#define T(x) int a##x
#define P(x) scanf("%d",&x)
#pragma warning(disable:4996)
int c,t;
int m;
int main()
{
    int  n, t=0;
    int k;
    
    int d, e;
    int f[1000];
    scanf("%d\n", &n);
    for (k = 1; k <= n; k++)
        scanf("%d", &f[n]);
    for ( k = 1; k <= n; k++)
        if (f[k] >=m)
        {
            m = f[k]; 
        }
    d = m;
    for (k = 1; k <= n; k++)
        if (f[k] <= n) n = f[k];
    e = n;
    printf("%d\n", d);
    printf("%d\n", e);
    printf("%d", d-e);
}

n没有初始化,应该给一个较大的值初始化