C语言求最大公约数 求解答

给定两个正整数,求它们的最大公约数。

输入格式:
有多组数据,每行为两个正整数,且不超过int可以表示的范围。

输出格式:
每行对应输出最大公约数。

输入样例:
4 8
8 6
200 300
输出样例:
4
2
100

img


我的答案如下 主要是不太知道多行输入多行输出 运行出来答案是错的 求解答 谢谢!


#include<stdio.h>
int main(){
    int a,b;
    int t,i;
    while(scanf("%d %d",&a,&b)==2){
        if(a<b){
            t=a;
            a=b;
            b=t;
        }
        for(i=b;i>0;i--){
            if(a%i==0&&b%i==0){
                printf("%d\n",i);
                break;
            }
        }
    }
}