c语言题,帮看一下呗

A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛,哪些人没参加:A参加时,B也参加;B和C或者都参加,或者都不参加; C和D只有一个人参加; D和E中至少有一个人参加;如果E参加,那么A和D也都参加。
!要求用c语言实现,不是c++啊
SOS大家伙帮忙看看吧♡^▽^♡

//第一步列出所有的可能性,每个人有2种可能情况
//假设参赛是1,不参赛为0#include<stdio.h>
int main()
{
    int a = 0, b = 0, c = 0, d = 0, e = 0;
    for (a = 0; a <= 1; a++)
    {
        for (b = 0; b <= 1; b++)
        {
            for (c = 0; c <= 1; c++)
            {
                for (d = 0; d <= 1; d++)
                {
                    for (e = 0; e <= 1; e++)
                    {
                        if (a && b)
                        {
                            if (b && c || (b == 0 && c == 0))
                            {
                                if (c || d)
                                {
                                    if (d == 0 && e || d && e == 0)
                                    {
                                        if (e)
                                        {
                                            a == 1;
                                            d == 1;
                                            printf("a=%db=%dc=%dd=%de=%d", a, b, c, d, e);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return 0;
}