c语言旗鼓相当的对手结果不正确

#include
#include
#include
int main(void)
{
int CHINESE[150],MATH[150],ENGLISH[150],number,all[150];

scanf("%d\n",&number);

for(int i = 0;i"%d %d %d",&CHINESE[i],&MATH[i],&ENGLISH[i]);
    all[i] = CHINESE[i]+MATH[i]+ENGLISH[i];
}

int couple = 0;
for(int i = 0;i1;jCHINESE[i]-CHINESE[j])<=5&&
        abs(MATH[i]-MATH[j])<=5&&
        abs(ENGLISH[i]-ENGLISH[j])<=5&&
        abs(all[i]-all[j])<=10){
            couple++;
        }

    }
printf("%d\n",couple);

}
return 0;
}

img

N有范围吗,可能数组定义的太小了

scanf("%d\n",&number); 把\n删掉
你下面大括号有些错乱,导致printf语句在for循环内了。
修改如下,代码格式一定要清晰才行

#include <stdio.h>
#include <math.h>
int main(void)
{
    int CHINESE[150],MATH[150],ENGLISH[150],number,all[150];

    scanf("%d",&number);

    for(int i = 0;i<number;i++){
        scanf("%d %d %d",&CHINESE[i],&MATH[i],&ENGLISH[i]);
        all[i] = CHINESE[i]+MATH[i]+ENGLISH[i];
    }

    int couple = 0;
    for(int i = 0;i<number;i++)
    {
        for(int j = i+1;j<number;j++)
        {
            if(abs(CHINESE[i]-CHINESE[j])<=5&&
                abs(MATH[i]-MATH[j])<=5&&
                abs(ENGLISH[i]-ENGLISH[j])<=5&&
                abs(all[i]-all[j])<=10)
            {
                couple++;
            }
        }
    }
    printf("%d\n",couple);
    return 0;
}