for语句中 输入次数

img

如图所示,理论上 如果输入4,那么for语句应该输入4个数,但是运行结果确实下面这样

img

想知道为什么,
附上代码,有兴趣的试一下

#include
using namespace std;
int h[1001],n,i,j,ans,t1,t2;
int main(){
    scanf( " %d " ,&n);
    for(i = 1; i <= n; i++) scanf( " %d " ,&h[i]);
    for(i = 1; i <= n; i++){    
         t1 = t2 = 0;
         for(j = 1; j < i; j++)
             if(h[j] > h[i]) t1++;           // 排在他前面且比他高的人数
             for(j = i + 1; j <= n; j++)
                 if(h[j] > h[i]) t2++;       // 排在他后面且比他高的人数
            if(t1 == t2) ans++;
    }
    printf( " %d\n " ,ans);
    return 0;
}






scanf中%d前后都加空格,是闲的慌吧,删掉就好了