C关于最小公倍数最大公约数关于小程序错误求教

拥抱@ 2017-12-07 10:17:17
#include<stdio.h>

#include<math.h>

int main()

{

inta,b,n,i;

scanf("%d%d",&a,&b);

n=(a<b)?a:b; //将a和b中的较小值赋给n

for(i=n;i>=1;i--)

if(a%i==0&&b%i==0)

{printf("最大公约数为: %d\n",i)

break;

}

int m;

m=(a*b)/i; //a*b=最大公约数乘以最小公倍数

printf("最大公倍数为: %d\n",m)

return 0;
}
...全文
158 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-12-07
  • 打赏
  • 举报
回复
#include<stdio.h>

#include<math.h>

int main()
{
    int a,b,n,i;
    int m;

    scanf("%d%d",&a,&b);
    n = (a<b)?a:b;

    for(i = n;i >= 1; i--) {
        if(a % i == 0 && b % i == 0) {
            printf("最大公约数为: %d\n",i);
            break;
        }
    }

    m = (a*b)/i;

    printf("最大公倍数为: %d\n",m);

        return 0;
}
就你的代码而言主要是语法错误,逻辑咱没问题。
wodexiaojidan 2017-12-07
  • 打赏
  • 举报
回复
代码没问题,只是你中英文符号不对,导致编译不过去
_的猫 2017-12-07
  • 打赏
  • 举报
回复
#include<stdio.h>
int gcd(int p,int q);
int main(int argc,char **argv){
	int q,p;
	scanf("%d%d",&p,&q);
	printf("最大公约数是%d",gcd(p,q));
	return 0;
} 
int gcd(int p,int q){
	return q>0?gcd(q,p%q):p;
}
_的猫 2017-12-07
  • 打赏
  • 举报
回复
#include<stdio.h> int gcd(int p,int q); int main(int argc,char **argv){ int q,p; scanf("%d%d",&p,&q); printf("最大公约数是%d",gcd(p,q)); return 0; } int gcd(int p,int q){ return q>0?gcd(q,p%q):p; }

69,382

社区成员

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

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