各位啊进来看看,帮帮我,我一直不出哪里还有问题一直过不了,一直是部分正确

img


#include<stdio.h>
int main()
{
  int T,a,b,Q,c,n,k=0,i,f;
  scanf("%d",&T);
  for( ;T>=1&&(scanf("%d%d%d",&a,&b,&Q))!=EOF;T--)
  {
    for(;Q>=1&&(scanf("%d",&c))!=EOF;Q--)
    {  
      if(c==0&&a%b!=0&&b%a!=0)
      {printf("No\n");
       continue;}
      else if(c==0&&a%b==0)
      {printf("Yes\n");
       continue;}
      else if(c==0&&b%a==0)
      {printf("Yes\n");
       continue;}
      else if(c>0)
      { f=0;
        for(;f*a-b<=0;f++)
        { if(f*a+a-b>0)
            b=f*a+a-b;}
        n=1;
        for( ;i*a+n*b<=c;n++)
        { 
          for(;i*a+n*b<=c;i++)
          { 
            if(i*a+n*b==c)
            {printf("Yes\n");
             k=1;}
          }
          if(k==1)
           {break;}
          i=0;
        }
      }
      else if(c<0)
      { f=0;
        c=-c;
        for(;f*b-a<=0;f++)
        { if(f*b+b-a>0)
             a=f*b+b-a;}
        n=1;
        for( ;i*b+n*a<=c;n++)
        {
          for(;i*b+n*a<=c;i++)
          { 
            if(i*b+n*a==c)
            {printf("Yes\n");
             k=1;}
          }
          if(k==1)
            {break;}
          i=0;
        }
      }
      if(k!=1)
        printf("No\n");
    }
  }
   return 0;
}