为什么这个代码运行错误?

**“斗牛”是一种简单的纸牌游戏,玩法如下:对于一副扑克牌,保留A(作为1)、2~10这些牌面的牌;然后每人发5张牌,计算出是牛几(任取3张牌面累加凑成10的倍数,设剩下2张牌面加起来的和S,若S为10的倍数则为双牛,否则用S(S小于10的情况)或用S减去10(S大于10的情况)的结果确定,例如,牌面4 3 4 6 10时,为牛7),然后比谁的牛大,大者胜,小者负,否则为和局。现在给你5张牌,请你算出是牛几。

输入格式:
首先输入一个整数T(1<=T<20),表示测试组数。
每组测试输入5个整数(范围为1到10,可以重复,其中1表示牌面为A),数据之间以一个空格分隔。

输出格式:
对于每组测试,在一行上输出一个整数表示牛几,若双牛则输出10,若无牛则输出0。**

#include
int main()
{
    int p,n;
    scanf("%d",&n);
    for(p=0;psum=0;
        int flog=0;
        for(i=0;i<5;i++){
            scanf("%d",&a[i]);
        }
        for(i=0;i<5;i++){
            sum=sum+a[i];
                for(i=0;i<3;i++){
            for(j=i+1;j<4;j++){
                for(k=j+1;k<5;k++){
                    s=a[i]+a[j]+a[k];
                    if(s%10==0){
                        flog=1;
                         m=sum-s;
                        if(m%10==0){
                            x=10;
                        }    
                        else{
                            x=m%10;
                        }
                    }
                }
            }
        }
        if(flog=0){
            x=0;
        }
        printf("%d\n",x);
    }
    return 0;
}

if(flog=0)
改为
if(flog==0)