急求!c语言试题!

来源:百度知道 编辑:UC知道 时间:2024/06/30 20:01:10
任意输入两个整数,求最大公约数和最小公倍数。要求用子函数来做。
会的帮帮忙啊~~~急求~~~
还有一题,任意输入数n,求n中的每一位相加的和。

第一个:

int gcd(int b, int s);
int swap(int b, int s);
int mb(int b, int s);
int main(void)
{
int int1,int2;
int a, b;
printf("输入两个整数:\n");
scanf("%d %d", &int1, &int2);
a = gcd(int1, int2);
b = mb(int1, int2);
printf("输出最大公约数:%d\n", a);
printf("输出最小公倍数:%d\n", b);

return(0);
}

int gcd(int b, int s)
{
int r;
if(b < s)
{
swap(b, s);
}
if(s == 0)
{
return(b);
}
r = b % s;
gcd(s, r);
}

int mb(int b, int s)
{
int g, m;
g = gcd(b, s);
m = b *(s / g);
return(m);
}

int swap(int b, int s)
{
int t;
if(b < s)
{
t = b;
b = s;
s = t;
}
}