第1个回答 2013-08-09
#include <stdio.h>
main()
{
int x,y,z,a,min;
scanf("%d%d%d",&x,&y,&z);
if(x>=y)
if(y>=z)min=z;
else min=y;
else
if(y<=z)min=x;
else
if(x<=z)min=x;else min=z;
printf("这三个数中最小的是",min);
for(a=min;a>0;a--)
{printf("%d",a);
if(x%a==0&&y%a==0&&z%a==0)break;}//break前面不能有“;”号
printf("\n这三个数的最大公约数是%d\n",a);
system("pause");
}
望亲采纳
第2个回答 2013-08-09
其实三个数x,y,z的最大公约数就是(x,y的最大公约数)和z的最大公约数。
#include<iostream.h>
int gcd(int a,int b)
{
int r;
if(a>b)
{
int temp;
temp=a;
a=b;
b=temp;
};
r=b%a;
if(r==0)
return a;
else
{ b=a;
a=r;
return gcd(a,b);
};
}
void main()
{
int x,y,z;
cout<<"Input three numbers x,y,z:"<<endl;
cin>>x>>y>>z;
cout<<"x,y的最大公约数"<<gcd(x,y)<<endl;
cout<<"x,y,z的最大公约数"<<gcd(gcd(x,y),z)<<endl;
}
第3个回答 2013-08-09
#include<stdio.h>
void swap(int* a,int* b)
{
int t;
t=a;
a=b;
b=t;
}
int gcd(int a,int b)
{
if(a<b) swap(a,b);
return (a%b==0)?b:gcd(b,a%b);
}
main
{
int a,b,c;
printf("Input three integers:");
scanf("%d%d%d",&a,&b,&c);
printf("The GCD is %d.",gcd(gcd(a,b),gcd(b,c)));
}
第4个回答 2013-08-09
求其中2个的,在用最大公约数和第三个求