帮我看看有没有错吧,没报错

img

#include
int main(){
int n;
n>=0 & n<=1000000 ;
int i;
int a=0;
int c;
int d=1;
int e;
int f;
int g=1;
int x;
int b = f%10;
scanf("%d",& n);
e=n%10;
f=n/10;

if (n<10){
    if(e%2 == 0 ){
        i= 0 ;
    } 
    if(e%2 != 0){
        i= 1 ;
    }
              

}
if(n>= 10){

while(f !=0){
     if(e%2 != g%2){
       x=0;
   } else{
       x=1;
   }
   a=g- 1;
    if(a==0){
        c=x;
    }
    if(a !=0){
        d=1;
        while(a> 0){
            
            d*= 2;
            a--;
        }
    }
    c=x* d;
       a++;
       g++;
       i+=c;
       n/= 10;
       f= n/10;
       e= n%10;
}
if( b%2 ==g%2){
    i=i;
}
if(b%2 !=g%2){
    while(a> 0){
            d*= 2;
            a--;
        }
    i=i+d;    
}

}

printf("%d",i);

return 0;

}

没有报错,试了几个数也都对,但就是有问题得不了满分
我想的挺麻烦的

为什么我看你这个代码只能输入一个数字?