学习心得:求最大公约数用一个中间值来转换
#include<math.h>
#include<stdio.h>
int main()
{ //求最大公约数
int m,n,temp;//temp作为一个中间变量用来交换数值
printf("请输入两个数");
scanf("%d %d",&m,&n);
if(m>n){
while(n!=0)//两个数必须大于零
{ temp=m%n;//假设m=30,n=5;此时temp=0
m=n;//此时m=5,n=30
n=temp;}// 此时temp=5,n=0,交换完成。
printf("最大公约数为:%d",m);
}else if(m<n){
while(m!=0){
temp=n%m;//n=30,m=5,temp=0
n=m;//n=5,m=30;
m=temp;}//temp=30,m=0
printf("最大公约数为:%d",n);
}
return 0;
}