输出比前面大的个数,差不多吧,并不知道哪里错了

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

img

#include
int main()
{  int n,i,j;
  int a[100];int num[i];
  while(scanf("%d",&n)!=EOF)
  { for(i=0;iscanf("%d",&a[i]);
      num[i]=0;
    }
    for(i=0;ifor(j=0;jif(a[j]for(i=0;iprintf("%d ",num[i]);
    }
  } printf("\n");
 return 0;
}

i未赋值,不能用来定义数组

img


修改如下:

#include<stdio.h>
int main()
{  int n,i,j;
   int a[100];int num[100];
   while(scanf("%d",&n)!=EOF)
  { for(i=0;i<n;i++)
    { scanf("%d",&a[i]);
      num[i]=0;
    }
    for(i=0;i<n;i++)
    { for(j=0;j<i;j++)
      { if(a[j]<a[i])
        num[i]++;
      }
    }
    for(i=0;i<n;i++)
    {printf("%d ",num[i]);
    }
  } printf("\n");
 return 0;
}