程序实现的填空题,if应该填写什么条件

填空题应该什么条件使得程序得以正常运行?

int main(){
    int a[10],b=1;
    long number;
    cout<<"输入一个数:";
    cin>>number;
    int i,j,n;
    for(i=0,n=number;n;i++){
        a[i]=n%10;
        n/10;
    }
    for(j=0;j<=(i-1)/2;j++){
        if(a[j]!=a[i-j]){
            b=0;
            break;
        }
    }
    if(          ){     //此处应填写什么条件才可以满足?
        cout<<number<<"是回文数"<<endl;
    }
    else
        cout<<number<<"不是回文数"<<endl;

    system("pause");
    return 0;
}

最好可以解释一下如何得出这个答案的,感觉自己把自己做绕了想不到了。谢谢!

b==1
首先要明白了啥是回文数,也就是正反读是一样的,如54345
for循环不就是第i个和第n-i个比吗?
如果有一个不一样那说明肯定不是回文数,那么b=0;
所以如果b==1那说明一定是回文数
有用记得采纳呐!