作业帮 > 综合 > 作业

1.设计一个函数f,求二个数的最大公约数int f(int x,int y); 2.设计一个函数g,求二个数的最小公倍数

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/23 16:36:32
1.设计一个函数f,求二个数的最大公约数int f(int x,int y); 2.设计一个函数g,求二个数的最小公倍数int
1.\x05设计一个函数f,求二个数的最大公约数int f(int x,int y);
2.\x05设计一个函数g,求二个数的最小公倍数int g(int x,int y);
3.\x05从键盘输入三个浮点数,求三个数中最大数和最小数的差值.
1.设计一个函数f,求二个数的最大公约数int f(int x,int y); 2.设计一个函数g,求二个数的最小公倍数
#include
//最大公约数:辗转相除法
int f(int x,int y)
{
\x05int m = x % y;
\x05while (m)
\x05{
\x05\x05x = y;
\x05\x05y = m;
\x05\x05m= x % y;
\x05}
\x05return y;
}
//最小公倍数:两数乘积除以最大公约数即为最小公倍数
int g(int x,int y)
{
\x05return (x * y / f(x,y));
}
//求最值差:利用三元运算符
float diff(float x,float y,float z)
{
\x05float max = x,min = x;
\x05max = (max < y
\x05\x05(y < z z :y) :
\x05\x05(max < z z :max));
\x05min = (min > y
\x05\x05(y > z z :y) :
\x05\x05(min > z z :min));
\x05return max - min;
}
int main(void)
{
float x,y,z;
\x05printf("请输入三个浮点数");
scanf("%f%f%f",&x,&y,&z);
\x05printf("最值差:%.2f\n",diff(x,y,z));
\x05printf("最大公约数和最小公倍数测试:\n");
\x05int m,n;
\x05printf("请输入两个整数:\n");
\x05scanf("%d%d",&m,&n);
\x05printf("最大公约数是:%d\n",f(m,n));
\x05printf("最小公倍数是:%d\n",g(m ,n));
return 0;
}