编程一个函数int gcd(int m,int n),计算任意输入的两个正整数的最大公约数,算法不 编程程序计算两个正整数的最大公约数(GCD) 要求: (1)...

作者&投稿:磨泄 (若有异议请与网页底部的电邮联系)
#include <stdio.h>
int fgcd(int x,int y){
int r;
while(y)
r=x%y,x=y,y=r;
return x;
}
int main(void){
int x,y;
    printf("Please enter 2 positive integers...
");
    if(scanf("%d%d",&x,&y)!=2 || x<1 || y<1){
        printf("Input error, exit...
");
        return 0;
    }
    
    printf("The GCD of %d & %d is %d
",x,y,fgcd(x,y));
return 0;
}


int gcd(int a,int b)
{int c;
loop:c=a%b;
if(c!=0)
{b=c;
goto loop;}
return b;}把a,b换为m,n

int gcd(int a,int b)
{
int temp ;
while(b!=0)
{
temp = a%b;
a = b;
b = temp;
}
return a;
}

编写一个函数,求两个整数的最大公约数,在主函数中输入两个整数,调用此函数进行计算并输出结果。~

#include
int gcd(int a, int b) //lgcd最大公因数
{
int i = 0, g = 0;
int m = 0;
m = a < b? a : b;
for(i = 1; i < m; i++)
{
if(a%i == 0 && b%i == 0)
{
g = i;
}
}
return g;
}
int main()
{
int a = 0, b = 0;
int c = 0;
printf("Input number a, b:");
scanf("%d%d",&a,&b);
c = gcd(a, b);
printf("Output gcd = %d",c);
return 0;
}

扩展资料:
c语言需要说明的是:
1.一个C语言源程序可以由一个或多个源文件组成;
2.每个源文件可由一个或多个函数组成;
3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口;
4.源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面;
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”;
6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-c语言

#include
int gcd(int m,int n)
{
if(!n)return m;
return gcd(n,m%n);
}
int main()
{
int m,n;
printf("请输入第1个正整数:");
while(1)
{
scanf("%d",&m);
if(m<=0)printf("输入了非正整数!!!
请重新输入:");
else break;
}
printf("请输入第2个正整数:");
while(1)
{
scanf("%d",&n);
if(n<=0)printf("输入了非正整数!!!
请重新输入:");
else break;
}
printf("这两个正整数的公约数为:%d
",gcd(m,n));
return 0;
}