C语言for语句:不明白为什么只运行一次

为啥只运行一次??

#include <stdio.h>
#include <math.h>
int main()
{
double N,H[21]={0},W[21]={0};
double w[21]; //w标准体重
int sign[21];
int i; //-1太瘦 0完美 1太重
scanf("%d",&N);

for(i=0;i<N;i++)
{
    scanf("%lf %lf",&H[i],&W[i]);
    w[i]=(H[i]-100)*0.9*2;
    if( fabs(W[i]-w[i])<w[i]*0.1)
    {
        sign[i]=0;
    }else if(W[i]-w[i]<0){
        sign[i]=-1;
    }else{
        sign[i]=1;
    }
}

for(i=0;i<N;i++)
{
    if(sign[i]==-1)
    {
        printf("You are tai shou le!\n");
    }else if(sign[i]==0){
        printf("You are wan mei!\n");
    }else{
        printf("You are tai pang le!\n");
    }
}

return 0;

}

img


scanf("%d",&N);

N是浮点数,你先把里面改成%lf先

或者将N定义为int N

N定义为int类型