C语言编程:计算两个正整数的最大公约数

本示例使用 C 语言编写程序,实现计算两个正整数最大公约数的功能。程序中包含一个名为MaxCommonFactor的函数,用于计算最大公约数,并提供详细代码注释说明。

函数原型说明

int MaxCommonFactor( int a, int b);

  • 返回值:返回两个正整数的最大公约数;若输入的数据有任意一个不满足条件(非正整数),返回值为 -1。
  • 参数:ab 是两个整型数。

代码示例

#include <stdio.h>

int MaxCommonFactor(int a, int b) {
    if (a <= 0 || b <= 0) {
        return -1;  // 若输入的数据有任意一个不满足条件,返回-1
    }

    while (a != b) {
        if (a > b) {
            a = a - b;
        } else {
            b = b - a;
        }
    }

    return a;  // 返回最大公约数
}

int main() {
    int a, b;
    scanf('%d,%d', &a, &b);
    int result = MaxCommonFactor(a, b);
    printf('%d\n', result);

    return 0;
}

代码解释

  1. 函数定义: MaxCommonFactor 函数使用辗转相除法计算最大公约数。
  2. 输入判断: 首先检查输入的两个整数 ab 是否都为正整数,若有一个不为正整数则返回 -1
  3. 辗转相除法: 使用 while 循环,不断用较大数减去较小数,直到两个数相等,此时即为最大公约数。
  4. 返回结果: 函数返回计算得到的最大公约数 a
  5. 主函数: 主函数负责接收用户输入的两个整数 ab,调用 MaxCommonFactor 函数计算最大公约数,并将结果输出。

运行示例

输入: 12,3 输出: 3

本示例程序可以帮助您了解使用 C 语言编程实现计算最大公约数的功能,并掌握函数定义和调用等编程技巧。

C语言编程:计算两个正整数的最大公约数

原文地址: https://www.cveoy.top/t/topic/bNXr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录