求助,关于函数调用和for循环

qq_42890962 2020-01-05 03:09:09
新手求助
一、题目
输入两个数x,y,求最大公约数和最小公倍数,想调用4个函数,分别找出最小数min、最大数max,最大公约数div,最小公倍数mul,
二、出现问题:
只有在两个数x,y为倍数关系(如2和8,3和9)时才正确显示,否则不显示。恳请高手指点一下


/*最大公约数和最小公倍数*/
#include<stdio.h>
//找出最小值
int min(int x, int y)
{
int min;
min = x > y ? y : x;
return min;
}
//找出最大值
int max(int x, int y)
{
int max;
max = x > y ? x : y;
return max;
}
//求最大公约数
int div(int x, int y)
{
int m, i;
m = min(x, y);
for (i = m; i >= 1; i--)
if (x % m == 0 && y % m == 0)
{
printf("%d和%d最大公约数是:%d\n", x, y, m);
break;
}
}
//求最小公倍数
int mul(int x, int y)
{
int m, i;
m = max(x, y);
for (i = m; i <= x * y; i++)
if (m % x == 0 && m % y == 0)
{
printf("%d和%d最小公倍数是:%d\n", x, y, m);
break;
}
}
main()
{
while (1)
{
int x, y;
printf("输入两个数:\n");
scanf("%d%d", &x, &y);
div(x, y);
mul(x, y);
}
}
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
qq_42890962 2020-01-05
  • 打赏
  • 举报
回复
谢谢,太粗心了
寻开心 2020-01-05
  • 打赏
  • 举报
回复
int div(int x, int y)
{
int m, i;
m = min(x, y);
for (i = m; i >= 1; i--)
if (x % m == 0 && y % m == 0) //这里应该是对m取模,不是对m
{
printf("%d和%d最大公约数是:%d\n", x, y, m);
break;
}
}

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧