C语言——从终端输入 3 个数 a、b、c,按从大到小的顺序输出。

2023-12-15 16:50:16

方式一

#include <stdio.h>
int main() 
{
    int a, b, c, temp;
    printf("请输入三个数:\n");
    scanf("%d %d %d", &a, &b, &c);
    if (a < b) 
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (a < c) 
    {
        temp = a;
        a = c;
        c = temp;
    }
    if (b < c) 
    {
        temp = b;
        b = c;
        c = temp;
    }
    printf("%d %d %d\n", a, b, c);
    return 0;
}

????????首先从终端输入三个数a、b、c,然后使用三个if语句来比较它们的大小,并进行交换,使得a、b、c按从大到小的顺序排列。最后,我们使用printf函数输出a、b、c的值。?

方式二

#include <stdio.h>

int main() 
{
    int a, b, c;
    printf("请输入三个数\n:");
    scanf("%d %d %d", &a, &b, &c);

    if (a >= b && a >= c) 
    {
        if (b >= c) {
            printf("%d %d %d\n", a, b, c);
        } else {
            printf("%d %d %d\n", a, c, b);
        }
    } else if (b >= a && b >= c) 
    {
        if (a >= c) 
        {
            printf("%d %d %d\n", b, a, c);
        } else {
            printf("%d %d %d\n", b, c, a);
        }
    } else {
        if (a >= b) 
        {
            printf("%d %d %d\n", c, a, b);
        } else {
            printf("%d %d %d\n", c, b, a);
        }
    }

    return 0;
}

????????首先从终端输入三个数a、b、c,然后使用多个if-else语句来比较它们的大小,并按从大到小的顺序输出。

方式三

#include <stdio.h>

void sequenceSort(int *a, int *b, int *c) 
{
    if (*a < *b) 
    {
        int temp = *a;
        *a = *b;
        *b = temp;
    }
    if (*a < *c) 
    {
        int temp = *a;
        *a = *c;
        *c = temp;
    }
    if (*b < *c) 
    {
        int temp = *b;
        *b = *c;
        *c = temp;
    }
}

int main() 
{
    int a, b, c;
    printf("请输入三个数:");
    scanf("%d %d %d", &a, &b, &c);

    sequenceSort(&a, &b, &c);

    printf("%d %d %d\n", a, b, c);

    return 0;
}

????????在这个程序中,我们定义了一个名为sequenceSort的函数,该函数接受三个指针参数,用于比较并按从大到小的顺序排序这三个数。

????????在main函数中,我们从终端输入三个数a、b、c,然后调用sequenceSort函数,将这三个数的地址传递给函数进行排序。最后,我们使用printf函数输出a、b、c的值。

文章来源:https://blog.csdn.net/W_Fe5/article/details/134937157
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。