C语言用函数求最大公约,最小公约数0
#include"stdio.h"intmax;intyun;intmain(){intzdgys(intx,inty);//求最大公约数intzxgys(intx,inty);//求最小公约数voidprint(intx,inty);//输出函数intscan(intx);//输入函数inta=0... #include"stdio.h"
int max;
int yun;
int main()
{
int zdgys(int x, int y); //求最大公约数
int zxgys(int x, int y); //求最小公约数
void print(int x, int y); //输出函数
int scan(int x); //输入函数
int a = 0, b = 0;
int max=0;
int yun=0;
a = scan(a); //调用输入函数给a赋值
b = scan(b); //调用输入函数给b赋值
printf("%d %d\n", a, b);
max = zdgys(a, b); //求最大公约数
yun = zxgys(a, b); //求最小公约数
print(max, yun); //输出函数
return 0;
}
int scan(int x)
{
int m;
m = x;
scanf("%d", &m);
return m;
}
int zdgys(int x, int y) //定义zdgys
{
int t;
if (x>y)t = x;
else t = y;
for (; t>1; t--)
{
if (x%t == 0 && y%t == 0)break;
}
return t; //返回函数值t
}
int zxgys(int x, int y) //定义zxgys
{
int t;
for (t = 0; t < x&&t < y; t++)
if (x%t == 0 && y%t == 0)break;
return t;
}
void print(int x, int y) //定义print函数
{
printf("最大公约数为%d,最小公约数为%d",x,y);
}
这个运行时出错了,求大神帮忙看看那有问题 展开