m0_74870240 2023-06-05 15:52 采纳率: 0%
浏览 50

从键盘输入n(n<=100)个正整数,求出最大数,最小数,以及他们的最大公约数。

从键盘输入n(n<=100)个正整数,求出最大数,最小数,以及他们的最大公约数。

程序运行结果示例1:

Inputn:10↙

Input 10 numbers:15 23 56 87 94 105 78 19 22 43↙

maxNum= 105,minNum= 15

15

程序运行结果示例2:

Inputn:5↙

Input 5 numbers:33 1 2 0 10↙

maxNum= 33,minNum= 0

输入数据个数提示:"Input n:"

输入提示信息:"Input %d numbers:"

输入格式:"%d"

输出格式:

最大数输出格式:"maxNum=%4d"

最小数输出格式:",minNum=%4d\n"

最大公约数输出格式:"%d"

  • 写回答

3条回答 默认 最新

  • 大师兄6668 新星创作者: python技术领域 2023-06-05 15:59
    关注

    以下是实现要求的 C 语言代码:

    #include <stdio.h>
    
    // 求两个数的最大公约数
    int gcd(int a, int b) {
        if (b == 0) return a;
        return gcd(b, a % b);
    }
    
    int main() {
        int n, i, maxNum = 0, minNum = 0x7fffffff;  // 初始化为最小值
        int nums[100];
    
        printf("Input n:");
        scanf("%d", &n);
    
        printf("Input %d numbers:", n);
        for (i = 0; i < n; ++i) {
            scanf("%d", &nums[i]);
    
            if (nums[i] > maxNum) maxNum = nums[i];  // 更新最大值
            if (nums[i] < minNum) minNum = nums[i];  // 更新最小值
        }
    
        printf("maxNum=%4d", maxNum);
        printf(",minNum=%4d\n", minNum);
    
        int g = gcd(maxNum, minNum);
        printf("%d", g);
    
        return 0;
    }
    

    首先从键盘输入 n,然后创建一个 nums 数组来保存输入的数字。在输入数字的过程中,同时更新最大值和最小值。最后分别输出最大值和最小值,并计算它们的最大公约数并输出。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月5日