关于#最大公约数#的问题,如何解决?

编程输入三个正整数,从小到大进行排序输出,并求出三个数的最大公约数和最小公倍数。

利用数组编程计算n门课程的平均成绩,要求n值和各科成绩由用户键盘输入。

望采纳,谢谢!

#include<stdio.h>
int main()
{
int x, y, z, i, j, t;
scanf("%d%d%d", &x, &y, &z);
for (i = x; i > 0; i--)
{
if (x % i == 0 && y % i == 0 && z % i == 0)
break;
}
for (j = x; ; j++)
{
if (j % x == 0 && j % y == 0 && j % z == 0)
break;
}

if(x>y){
    t = x;
    x = y;
    y = t;
} 
if(x>z){
    t = x;
    x = z;
    z = t;
}
if(y>z){
    t = y;
    y = z;
    z = t;
}

printf("%d %d %d %d %d",x,y,z, i, j);
return 0;
}