c语言程序编写:计算两个数的最大公约数

作者&投稿:攸从 (若有异议请与网页底部的电邮联系)
c语言求两个数的最大公约数是多少?~

c语言求两个数的最大公约数的步骤如下:
1、首先,新建一个C语言源程序,在这里使用的是Visual C++6.0的软件。

2、然后从键盘中直接输入两个正整数a和b。
代码为:
printf("please input two number:
");
int a,b;
scanf("%d%d",&a,&b);

3、然后取a,b这两个数中的较小值,存放到变量n中。
代码为:
int n=a;
if (n>b)
n=b;

4、接着从两个数a和b中的较小数开始,依次逐个减小1,以便能寻找出可以整除a和b的整数。第一个找到的整数就是整数a和b的最大公约数。
代码:
for(int i=n;i>=1;i--)
{
if (a%i==0&&b%i==0)
{
printf("最大公约数:%d
",i);
break;
}
}

5、最后点击工具栏上方的图标,之后源程序编译运行,即可对数据进行计算。

以上就是c语言求两个数的最大公约数的步骤了。

DEV-CPP 5.4 C语言环境,通过编译运行
#includeint max(int a,int b){ //求最大公约数的函数 int i,k; for(i=1;ib?b:a);i++) if(a%i==0&&b%i==0) k=i; return k;}int main(){ int a,b; scanf("%d%d",&a,&b); printf("%d
",max(a,b)); return 0;}

#include<stdio.h>
#include <conio.h>

void main()
{
int m,n,k;
while (1)
{
printf("输入m和n(m>n):");
scanf("%d %d",&m,&n);
if(m<n)
printf("输入错误,请重新输入\n");
else break;
}
while (1)
{
k=m%n;
if(k==0)
break;
m=n;
n=k;
}
printf("m和n的最大公约数是:%d",n);
getch();
}

#include "stdio.h"

main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:\n");
scanf("%d%d",&num1,&num2);
if(num1<num2)/*交换两个数,使大数放在num1上*/
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:%d\n",a);

}
这个绝对正确,你看看。

#include<stdio.h>

int main(void)
{
int m, n, k, tmp;
printf("Input 2 integers:\n");
scanf("%d %d", &m, &n);

if(m<n)
{
tmp=m;
m=n;
n=tmp;
}

while(1)
{
k=m%n;
if(0==k)
{
printf("The largest public-factor: %d\n", n);
return 0;
}
else
{
m=n;
n=k;
}
}
}

2个数的顺序不要紧,程序做了排序。输入以空格分开2个数。

#include<stdio.h>
#include
<conio.h>
void
main()
{
int
m,n,k;
while
(1)
{
printf("输入m和n(m>n):");
scanf("%d
%d",&m,&n);
if(m<n)
printf("输入错误,请重新输入\n");
else
break;
}
while
(1)
{
k=m%n;
if(k==0)
break;
m=n;
n=k;
}
printf("m和n的最大公约数是:%d",n);
getch();
}


编写c语言程序计算1+3+5+...+99的值
include<stdio.h>int main(){ int i,s=0;\/\/初始和s为0 for(i=1;i<=99;i=i+2)\/\/i从1开始奇数一直到99 { s=s+i;\/\/相加 } printf("%d\\n",s);\/\/输出和s return 0;}

c语言 编写计算a+b=?的程序
代码如下:inta=0;intb=0;printf("a=");scanf("%d",&a);printf("\\n");printf("b=");scanf("%d",&b);printf("\\n");printf("a+b= %d",a+b);代码效果图:运行结果图:

c语言使用for循环语句编写程序,计算sum=1+11+111+1111+11111+111111...
c语言使用for循环语句编写程序,计算sum=1+11+111+1111+11111+111111可参考以下的代码。include <stdio.h> void main(){ int i,n,k=0,s=0;printf("Input n: ");scanf("%d",&n);for(i=0;i<n;i++){k=k*10+1;s+=k;} printf("sum=%d",s);} ...

编写程序,计算1到100中既能被3整除又能被7整除的所有数,并计算这些数的...
能被3整除,又可以被7整除的数是3和7的公倍数,因为3和7没有公约数,所以3和7的最小公倍数是21,因此,可以被3整除又可以被7整除的数,一定是21的倍数。在1到100内,共有4个,分别是21,42,63,84。利用程序计算如下:int count = 0;for (int i = 1; i <= 100;i=i*21){ Syste...

编写程序,求任意两个整数,求商(整数)和余数。如果除数为0,给出错误...
下面是一个C语言程序的示例,可以实现输入两个整数,计算它们的商和余数。如果除数为0,则输出错误提示信息。include <stdio.h> int main() { int dividend, divisor, quotient, remainder;\/\/ 输入被除数和除数 printf("请输入两个整数:");scanf("%d %d", ÷nd, &divisor);\/\/ 判断除数...

c语言; 编写一个程序,计算任意输入的整数的各位数字之和?
include <stdio.h> void main(){ int a,sum=0;printf("请输入一个大于0的正整数~~");scanf("%d",&a);while(a!=0) \/\/循环结束的条件是 a等于 0 { sum+=a%10;\/\/ a%10 的作用是取a这个数的个位 比如 108除以10的余数是不是8 a\/=10;\/\/执行上一句代码之后还要把a的值 ...

编写程序,计算1+1\/3+1\/5+...+1\/2007的值
用matlab语言编写程序,计算1+1\/3+1\/5+...+1\/2007的值 s=0;i=1;while i<=2007;s=s+(1\/i);i=i+2;end s >>s = 4.4376

c语言编写程序 输入两个整数,计算两数之和
%d对输入类型的限制代表——整数,并把这俩个数分别给&a和&b两个变量,&取地址运算符;sum=a+b;\/\/三、数据处理,把a、b的和赋值给sum;printf("这两个数的和是:%d\\n",sum);\/\/四、输出结果,%d输出一个整形数这个数就是sum;printf("计算完成,谢谢使用!");return 0;\/\/返回;} ...

在VB中,编写一个程序,计算15!-8!+5!的值。
当键盘输入n,表示求该式的前n项的和。比如输入3,就是求:1*3+2*4+3*5 比如输入2,就是求:1*3+2*4 所以代码为:dim n as integer dim s as double dim i as integer n = Val(InputBox("输入一个正整数!"))s =0 for i = 1 to n s = s + i*(i+2)next i Print s ...

C语言编写程序计算矩形的面积和周长,用两个函数分别计算面积和...
include <stdio.h> double area(double x,double y){ return x*y;} double girth(double x,double y){ return 2*(x+y);} int main(){ double a=2,b=3;printf("面积:%f,周长:%f\\n",area(a,b),girth(a,b));return 0;} ...

革吉县19185676542: c语言程序编写:计算两个数的最大公约数 -
晨畏通滞: #include "stdio.h" main() { int a,b,num1,num2,temp; printf("please input two numbers:\n"); scanf("%d%d",&num1,&num2); if(num1<num2)/*交换两个数,使大数放在num1上*/ { temp=num1; num1=num2; num2=temp; } a=num1;b=num2; while(b!=0)/*利用辗除法,直到b为0为止*/ { temp=a%b; a=b; b=temp; } printf("gongyueshu:%d\n",a); } 这个绝对正确,你看看.

革吉县19185676542: 求用C语言篇写的求任意两个数的最大公约数 -
晨畏通滞: 这次肯定对了! 求最大公约数和最小公倍数 main(){ int m,n,t,r,p; scanf("%d%d",&n,&m); if(n<m){t=n; n=m; m=t;} p=n*m; while(m!=0){ r=n%m; n=m; m=r; } printf("\nmax yshu: %d,\nmin beishu: %d",n,p/n); /*min beishu是最小公倍数,max yshu是大公约数*/ printf("\nPress any key to continue . . . "); getch(); }

革吉县19185676542: 设计C程序,计算两个数的最大公约数 -
晨畏通滞: 最大公约数即从两个数中较小的那个数开始依次向下找,第一次能同时被那两个数整除的即为最大公约数,如6和9,3就是它俩的最大公约数.#include main() { int m,n; int i; printf("input two numbers:\n"); scanf("%d%d",&m,&n); if(m>n) { i=m; m=n; n=i; } for(i=m;i>0;i--) if(m%i==0 && n%i==0) break; printf("最大公约数是%d\n",i); }

革吉县19185676542: c语言编程求两个正整数的最大公约数和最小公倍数! -
晨畏通滞:[答案] main() { int p,r,n,m,temp; printf("Please enter 2 numbers n,m:"); scanf("%d,%d",&n,&m);//输入两个正整数. if(n

革吉县19185676542: 则样用C语言编程“定义一个函数,求两个数的最大公约数和最小公倍数”要写两个函数,用主函数调用它们 -
晨畏通滞:[答案] #include int gcd(int m,int n)//最大公约数 { int t; if(m

革吉县19185676542: 用C语言 编写函数 实现:求2个数的最大数 -
晨畏通滞: #include <stdio.h> int main(void) {int a,b;int max;printf("pls input three number:");scanf("%d%d",&a,&b);max = (a > b)?a:b; //选出a、b中的最大值printf("max = %d\n",max); //打印reutrn 0; }

革吉县19185676542: 给定两个正整数m,n(m>n),求它们的最大公因子,用C语言怎么写 -
晨畏通滞: int gcd(int m, int n){return m%n==0?n:gcd(n, m%n); }

革吉县19185676542: c语言中,用辗转相除法计算两个数的最大公约数的具体方法是怎样的? -
晨畏通滞: #include int gcd(int a, int b) { int r; do { r = a % b; a = b; b = r; } while (r); return a; } int main(void) { int a, b; printf("Input two integers: \n"); scanf("%d%d", &a, &b); printf("The greatest common divisor is: %d\n", gcd(a, b)); return 0; } 原理: 辗...

革吉县19185676542: 怎样用C语言编译一个求两个数的最大公约数和最小公倍数的程序 -
晨畏通滞: #includeint main() { int m,n; int f(int m,int n); printf("please input two numbles:"); scanf("%d%d",&m,&n); printf("the max is %d\n",f(m,n)); printf("the min is %d\n",m*n/f(m,n)); return 0; } int f(int m,int n) { int c; c=m%n; while(c!=0) { m=n; n=c; c=m%n; } return (n); }

革吉县19185676542: C语言题目 递归计算两个正整数的最大公约数 -
晨畏通滞: #includevoid swap(int *m,int *n){ int t; if(m < n){ t = n; n = m; m = t; } } int f(int m,int n){ if(m%n == 0)return n; else return f(n,m%n); } int main(){ int p = 0,m = 0,n = 0; printf("请按照由大到小的顺序输入两个整数,用空格隔开:\n"); scanf("%d%d",&m,&n); swap(m,n); p = f(m,n); printf("两个数的最大公约数是:%d\n",p); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网