c语言程序设计编程最大公约数的程序怎么写
发布网友
发布时间:2022-05-07 17:03
我来回答
共4个回答
热心网友
时间:2022-06-30 19:52
#include <stdio.h>
int main()
{
int a,b,c,d;
printf("请输入两个数(用逗号分隔):");
scanf("%d,%d",&a,&b);
if(a>b)
{
if(a%b==0)
printf("%d是%d,%d的最大公约数.",b,a,b);
else
{
for(c=1;c!=b;c++)
if(a%c==0&&b%c==0)
d=c;
}
printf("%d是%d,%d的最大公约数.",d,a,b);
}
else
{
if(b%a==0)
printf("%d是%d,%d的最大公约数.",a,a,b);
else
{
for(c=1;c!=a;c++)
if(a%c==0&&b%c==0)
d=c;
}
printf("%d是%d,%d的最大公约数.",d,a,b);
}
getchar();
return 0;
}
热心网友
时间:2022-06-30 19:53
要掌握思想 就好写了 计算机语言最大的优点就是它可以帮助你去做你懒得做的事, 要知道这个最大公约数 那就要创建一个循环 除数范围是1—这个数,依此用这个数去除除数 最大的能整除的数就是最大公约数,或者从这个数开始循环 依次递减 能整除这个数的数就是最大公约数 方法多了 你自己动脑动手 想写出程序就不要犯懒
热心网友
时间:2022-06-30 19:53
辗转相除法
int *(int a,int b)
{
int r;
while(b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
热心网友
时间:2022-06-30 19:54
#include<stdio.h>
#include<stdlib.h>
main(void)
{
int t(int *p1,int *p2);
int *p1,*p2,a,b,c;
scanf("%d%d",&a,&b);
p1=&a;
p2=&b;
c=t(p1,p2);
printf("%d\n",c);
system("pause");
}
int t(int *p1,int *p2)
{
int m,r;
if(*p1<*p2)
{
m=*p1;
*p1=*p2;
*p2=m;
}
while((r=*p1%*p2)!=0)
*p1=*p2;
*p2=r;
return *p2;
}
这就是了