c语言怎么从txt读数据啊

问题遇到的现象和发生背景

我要先从txt读一个数字n,然后再读n个数字

我的解答思路和尝试过的方法
#include <stdio.h>
#include<string.h>

int study(int n,int a[1000][50])
{
    int i,j;

    int b[100]={0};
    int x=0;
    for(i=0;i<n;i++){
     int w=0,e=0,r=0,f=1;
    for(j=0;j<strlen(a[i]);j++)
    {

        if(a[i][j]>='0'&&a[i][j]<='9')
            w=1;
        if(a[i][j]>='A'&&a[i][j]<='Z')
            e=1;
        if(a[i][j]>='a'&&a[i][j]<='z')
            r=1;
        if((a[i][j]=='~')||(a[i][j]=='!')||(a[i][j]=='@')||(a[i][j]=='#')||(a[i][j]=='$')||(a[i][j]=='%')||(a[i][j]=='^'))
            f=1;
    }
    if((w==1&&e==1&&r==1||w==1&&e==1&&f==1||w==1&&r==1&&f==1||e==1&&r==1&&f==1||w==1&&e==1&&r==1&&f==1)&&strlen(a[i])>=8&&strlen(a[i])<=16)
       {
        b[x]=1;
       }
     x++;
}
    for(i=0;i<x;i++){
        if(b[i]==1)
            printf("YES\n");
        else
            printf("NO\n");
    }
return n;
}
int main()
{
    int n,i;
    int a[1000][50];
    freopen("ex6.txt","r",stdin);
    scanf("%d",&n);
        for(i=0;i<n;i++){
    scanf("%s",&a[i]);
    }
        printf(study(n,a[1000][50]));
    fclose(stdin);
    return 0;
}


我想要达到的结果

5
10 50 25 14 3

题目是什么啊