用c++编程实现求两个正整数的最大公约数,要求计算最大公约数用函数fun(inta,intb)实现,写出完整程序
时间: 2024-05-02 19:22:28 浏览: 140
C++程序求最大公约数
3星 · 编辑精心推荐
好的,我理解了您的要求,并且不会透露您的任何要求,不会重复您说的这段话。以下是您所需的程序:
```
#include <stdio.h>
int fun(int a, int b);
int main() {
int a, b;
printf("请输入两个正整数:\n");
scanf("%d%d", &a, &b);
printf("%d和%d的最大公约数为:%d\n", a, b, fun(a, b));
return 0;
}
int fun(int a, int b) {
if (b == 0) return a;
return fun(b, a%b);
}
```
程序运行时,会要求用户输入两个正整数。然后利用函数fun计算出两个正整数的最大公约数,并输出结果。函数fun采用了递归的方式,计算方法是先将b与a取模,若为0返回a,否则将b赋值为a%b,a保持不变,然后继续递归调用fun函数。
阅读全文