weixin_63318272 2021-11-17 17:20 采纳率: 100%
浏览 38
已结题

如何求这些,c语言函数的题

课后习题
1,写出两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果!
2,求方程ax2+bx+c=0的根,用三个函数分别当:b2-4ac大于0,等于0,和小于0时的根并输出结果。从主函数输入a,b,c,的值。
3,写一个判素数的函数,在主函数输入一个整数的输出是否为素数的信息。

  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-11-17 22:01
    关注
    #include <stdio.h>
    int fun1(int a, int b);
    int fun2(int a, int b);
    int main() {
        int a = 0, b = 0, gcd = 0, lcm = 0;
        scanf("%d %d", &a, &b);
        gcd = fun1(a, b);
        lcm = fun2(a, b);
        printf("最大公约数:%d\n", gcd);
        printf("最小公倍数:%d\n", lcm);
        system("pause");
        return 0;
    
    }
    
    //最大公约数 = 小数 与 (大数%小数) 的最大公约数
    //若a<b,经过一次辗转相除后,a,b的值会互换,所以不需要考虑a,b谁大
    
    int fun1(int a, int b) {
        int gcd = 0, r = 0;
        while (b != 0) { //辗转相除法
            r = a % b;
            a = b;
            b = r;
        }
        gcd = a;
        return gcd;
    
    }
    //最小公倍数 = 两数相乘 / 最大公约数
    
    int fun2(int a, int b) {
        int lcm = 0, gcd = 0;
        gcd = fun1(a, b);
        lcm = a * b / gcd;
        return lcm;
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日