21xrx.com
2024-11-09 00:18:55 Saturday
登录
文章检索 我的文章 写文章
C语言:如何实现三个数的从大到小输出
2023-06-13 09:15:47 深夜i     --     --
C语言 排序 比较

在 C 语言中,有很多种方式可以实现三个数从大到小输出的功能。本文将介绍两种常见的实现方法。

方法一:使用 if 语句进行比较

我们可以使用三个 if 语句进行比较,然后按照从大到小的顺序输出。

具体步骤如下:

1. 从键盘输入三个数 a、b、c。

2. 使用 if 语句进行比较,找到最大值和最小值。

3. 输出最大值、次大值、最小值。

代码示例:


#include

int main()

{

  float a, b, c, max, mid, min;

  printf("请输入三个数字:\n");

  scanf("%f%f%f", &a, &b, &c);

  if (a >= b && a >= c)

  {

    max = a;

    if (b >= c)

    

      mid = b;

      min = c;

    

    else

    

      mid = c;

      min = b;

    

  }

  else if (b >= a && b >= c)

  {

    max = b;

    if (a >= c)

    

      mid = a;

      min = c;

    

    else

    

      mid = c;

      min = a;

    

  }

  else

  {

    max = c;

    if (a >= b)

    

      mid = a;

      min = b;

    

    else

    

      mid = b;

      min = a;

    

  }

  printf("由大到小输出:%f %f %f", max, mid, min);

  return 0;

}

方法二:使用数组进行排序

我们可以使用数组将三个数保存起来,然后对数组进行排序,再依次输出即可。

具体步骤如下:

1. 从键盘输入三个数 a、b、c。

2. 将这三个数保存在数组中。

3. 对数组进行从大到小的排序。

4. 依次输出排序后的数组元素。

代码示例:


#include

void swap(float *a, float *b)

{

  float temp = *a;

  *a = *b;

  *b = temp;

}

int main()

{

  float a[3];

  printf("请输入三个数字:\n");

  scanf("%f%f%f", &a[0], &a[1], &a[2]);

  for (int i = 0; i < 3; i++)

  {

    for (int j = i + 1; j < 3; j++)

    {

      if (a[i] < a[j])

      {

        swap(&a[i], &a[j]);

      }

    }

  }

  printf("由大到小输出:");

  for (int i = 0; i < 3; i++)

  {

    printf("%f ", a[i]);

  }

  return 0;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复