qq_40780006
qq_40780006
采纳率100%
2017-10-26 02:29 阅读 1.4k

这是一个非常另人无耐的题目,大家来找茬啊。

#include
int main()
{
int a,b,c,n,d,m,e,f;
printf("请输入两个数:");
scanf("%d,%d",&n,&m);
if ( n>m)
{
a=n;
n=m;
m=a;
}
c=n;d=m;
while (b!=0)
{
b=m%n;
m=n;
n=b;
}
printf("最大公约数:%d\n",n);
e=c*d;
f=e/n;
printf("最小公倍数:%d",f);
return 0;
}

哪位大神知道何处有错。
求的是最大公约数和最小公倍数。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    weixin_34570718 清木就是我啦 2017-10-26 02:49

    while判断是先判断在执行,但是b是没有值的,不能作为判断,建议吧while(b!=0){...}换成do{...}while(b=0)

    点赞 评论 复制链接分享
  • qq_34916013 qq_34916013 2017-10-26 02:45

    前提是你知道公约数的概念

    点赞 评论 复制链接分享
  • zhang137107 zyt-小涛哥 2017-10-26 02:54

    还是少用while,用for循环吧

    点赞 评论 复制链接分享
  • f13986203901 潜龙游水 2017-10-26 05:49

    b没有初始化,b等于多少?

    点赞 评论 复制链接分享

相关推荐