一维数组如何选择输入数组内数字个数

问题遇到的现象和发生背景 :设计实现一个自定义函数int PositiveNum( int a[], int n);用于统计数组a中正数的个数;编写main()函数,在该主函数中定义整型数组,并输入数组各元素的值;调用PositiveNum函数得到数组中正数的个数并输出。
用代码块功能插入代码,请勿粘贴截图
#include 
int PositiveNum(int a[],int n) 
{
    int i, count = 0;    
    for( i = 0; i < n; i++ )
        if( a[i] > 0 )
         {count++;
    printf("%d",a[i]);}
    printf("\n%d",count);
}
int main(){
    int n,i,num;
    int a[10];
        for(i=0;i<10;i++)
        scanf("%d",&a[i]);
        num = PositiveNum(a, 10);}
  

我的解答思路和尝试过的方法
我想要达到的结果 : 将a[]改成可输入的未知数,可以选择使用a[3]或者a[5]之类的

将n的值用scanf输入就好了啊。不要固定是10

其实int a[10]可以改成int a[1000],你没太可能要输入超过1000个数字,而1k内存对于现在的计算机来说不用白不用,绰绰有余,不用节约
至于到底要循环多少次,你的n没有用上啊