求两个数的最大公约数。

/求两个数的最大公约数。/

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

//输入函数
void input(int *a, int *b){
	printf("请输入两个数(a,b):\n");  //提示用户输入数据
	scanf("%d,%d", &(*a), &(*b));  //保存用户输入的数据
}

//找公约数函数
void find_common_divisor(int a, int b){
	int n = 0;   //定义一个变n,用来尝试各种可能公约数
	int result = 0;     //定义一个变量result保存最后结果
	int ret;    //定义一个变量ret,赋值为a,b中较小者
	if (a > b) {   //给ret变量赋值
		ret = b;
	}
	else{
		ret = a;
	}
	while (n < ret){    //当n小于a,b中的较小者
		++n;   //n+1
				if (a % n == 0 && b % n == 0){  //若n能整除a和b
			result = n;    //result保存所有满足条件的n中最大者
		}
	}
	printf("最大公约数是%d\n", result);  //打印输出结果
}

//主函数
int main(){
	int a, b;     //定义两个变量,用以传递参数
	input(&a, &b);  //调用输入函数
	find_common_divisor(a, b);    //调用找公约数函数
	system("pause");
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值