请问这道题错在哪里呀= =

#include
int main()
{ int a,b,n,f,e;

scanf("%d\n",&n);
for (e=0;e {scanf("%d %d",&a,&b);
f=a>b?b:a;
for (f;a%f!=0||b%f!=0;f)
{ f=f-1;
};
printf("%d",f);

};
return 0;
}

题目是求最大公约数,多组输入。只不过这个是输入一组出来一组,但是OJ里不给过,想问下变量范围如何限定,之前试过几个但是都是failure to execute,还有如何多组输入同时多组输出

多组输入可以用数组
int f[MAX]; //max是允许的最大值
...
for (int i = 0; i < n; i++)
{
你原来代码的f换成 f[i]
}
...
for (int i = 0; i < n; i++)
printf("%d",f[i]); //最后输出