C语言初学者不解,求解惑

这个代码怎么运行不了呀,又没有朋友指点一下

img


我写的代码是这个,刚学,看不太懂该怎么改,用的软件是V S 2022,

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <math.h>
int main()
{
    int a[10000], b[10000], N, c = 0,d=0,e=0;
    float Q1 = 0, Q2 = 0, Q3 = 0;
    scanf("%d", N);
    for (int i = 0; i < N; N++)
    {
        scanf("%d %d", a[i], b[i]);
        c += b[i];
        if (a[i] != 0)
        {
            d++;
            e += b[i];
       }
    }
    Q1 = c / N;
    if ((d != 0) | (d != N))
    {
        {
            Q2 = e / d;
            Q3 = (c - e) / (N - d);
        }
        printf("%d %d %d", Q1, Q2, Q3);
    }
    else if (d = 0)
    {
        {
            Q3 = Q1;
        }
        printf("%d X %d", Q1, Q3);
    }
    else if(d=N)
    {
        {
            Q2 = Q1;
        } 
        printf("%d %d X",Q1,Q2);
    }

    return 0;
}

报错是这样显示的

img

img

img

else if (d = 0)
这里是 == 不是 =
下面还有一处类似问题

输出int类型的数据使用 %d
输出浮点型数据使用 %f

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^