C语言基础-编写求两个整数最大公约数的函数,并调用此函数求两个整数的最大公约数和最小公倍数。(头文件、方法主体、主函数,分离)

简介: 这是我个人学习c语言的练习,如果对你有帮助,请关注我,我将不定期更新,如果疑问或者建议可以在评论区留言沟通。
我将头文件、方法主体、主函数分离,写在上文件里,一个头文件(c043-mymath.h),一个方法主体函数文件(c043-mymath.c),一个主函数文件(c043-mymath_test.c),把三个文件放一起。

头文件(c043-mymath.h)

/*
*Copyright(c)2018 V万能的小黑V
*文件名:c04-mymath.h
*描述:计算最大公约和最小公倍数头文件
*作者:V万能的小黑V
*日期:2018年11月22日
*当前版本:1.0
*/
/*
*函数名称:hcf
*描述:实现最大公约
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个整型
×当前版本:1.0
*/
int hcf(int x,int y);
/*
*函数名称:lcm
*描述:实现最小公倍数
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个数字
×当前版本:1.0
*/
int lcm(int x,int y,int l);
AI 代码解读

方法主体(c043-mymath.c)

/*
*Copyright(c)2018 V万能的小黑V
*文件名:c043-mymath.c
*描述:最大公约和最小公倍数运算
*作者:V万能的小黑V
*日期:2018年11月22日
*当前版本:1.0
*/
/*
*函数名称:hcf
*描述:实现最大公约
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个整型
×当前版本:1.0
*/
int hcf(int x,int y)
{
    int i,k,m,n;
    int sum = 1;
    k = x>y?y:x;
    i = 2;
    while(i <= k){
        m = x % i;
        n = y % i;
        if(m == 0 && n == 0){
            sum *= i;
            x /= i;
            y /= i;
            i = 2;
        }else{i++;}
    }
    return sum;
}
/*
*函数名称:lcm
*描述:实现最小公倍数
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个数字
×当前版本:1.0
*/
int lcm(int x,int y,int l)
{
    return x*y/l;
}
AI 代码解读

主函数(c043-mymath_test.c)

/*
*Copyright(c)2018 V万能的小黑V
*文件名:c043-mymath_test.c
*描述:最大公约和最小公倍数运算,主函数
*作者:V万能的小黑V
*日期:2018年11月22日
*当前版本:1.0
*/
#include <stdio.h>
#include "c043-mymath.h"
/*
*函数名称:main
*描述:实现输入两个整数,输出最大公约和最小公倍数的输出
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个整型
×当前版本:1.0
*/
int main()
{
    int x,y,hcf1,lcm1;
    printf("请输入两个整数,我们将自动为您计算最大公约数和最小公倍数:");
    scanf("%d %d",&x,&y);
    hcf1 = hcf(x,y);
    lcm1 = lcm(x,y,hcf1);
    printf("最大公约数:%d\n最小公倍数:%d\n",hcf1,lcm1);
    
    return 0;
}
AI 代码解读
目录
打赏
0
0
0
0
1
分享
相关文章
|
14天前
|
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
44 15
|
14天前
|
【C语言程序设计——循环程序设计】求解最大公约数(头歌实践教学平台习题)【合集】
采用欧几里得算法(EuclideanAlgorithm)求解两个正整数的最大公约数。的最大公约数,然后检查最大公约数是否大于1。如果是,就返回1,表示。根据提示,在右侧编辑器Begin--End之间的区域内补充必要的代码。作为新的参数传递进去。这个递归过程会不断进行,直到。有除1以外的公约数;变为0,此时就找到了最大公约数。开始你的任务吧,祝你成功!是否为0,如果是,那么。就是最大公约数,直接返回。
66 18
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
74 6
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
37 3
|
7月前
|
c语言左旋字符串问题(不同方法超详细解答)
c语言左旋字符串问题(不同方法超详细解答)
37 1
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
详细解读C语言程序设计:现代方法(第2版)第二章全部习题答案
详细解读C语言程序设计:现代方法(第2版)第二章全部习题答案
52 0
C语言OJ项目参考(1047) 最大公约数和最小公倍数
1047: 求两个整数的最大公约数和最小公倍数 Description 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 Input 两个数 Output 最大公约数 最小公倍数 Sample Input 6 15 Sample Output 3 30 HINT 主函数已给定如下,提交时不需要包
1508 0
|
14天前
|
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
52 23
|
14天前
|
【C语言程序设计——函数】亲密数判定(头歌实践教学平台习题)【合集】
本文介绍了通过编程实现打印3000以内的全部亲密数的任务。主要内容包括: 1. **任务描述**:实现函数打印3000以内的全部亲密数。 2. **相关知识**: - 循环控制和跳转语句(for、while循环,break、continue语句)的使用。 - 亲密数的概念及历史背景。 - 判断亲密数的方法:计算数A的因子和存于B,再计算B的因子和存于sum,最后比较sum与A是否相等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台对代码进行测试,预期输出如220和284是一组亲密数。 5. **通关代码**:提供了完整的C语言代码实现
53 24

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等