21xrx.com
2024-12-23 00:19:58 Monday
登录
文章检索 我的文章 写文章
C语言排序:如何实现三个数的排序
2023-06-15 13:27:21 深夜i     --     --
C语言 排序 嵌套if语句 数组 指针

在C语言中排序是一种常见的操作。如果你想了解如何在C语言中实现对三个数字的排序,本文将为你提供一些简单易懂的方法。

方法1:使用嵌套if语句

第一种方法是使用嵌套的if语句。这个方法比较直观,容易理解。具体实现如下:

#include

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",a,b,c);

  return 0;

}

方法2:使用数组

第二种方法是使用数组。这种方法需要先将三个数字存储到数组中,然后对数组进行排序。具体实现如下:

#include

int main()

{

  int i,j,temp;

  int a[3];

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

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

  {

    scanf("%d",&a[i]);

  }

  for(i=0;i<2;i++)

  {

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

    {

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

      {

        temp=a[i];

        a[i]=a[j];

        a[j]=temp;

      }

    }

  }

  printf("三个数从小到大排序为:");

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

  {

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

  }

  return 0;

}

方法3:使用指针

第三种方法是使用指针。这个方法与第二种方法类似,只不过使用了指针来访问数组元素。具体实现如下:

#include

int main()

{

  int i,j,temp;

  int a[3];

  int *p=a;

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

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

  {

    scanf("%d",&a[i]);

  }

  for(i=0;i<2;i++)

  {

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

    {

      if(*(p+i)>*(p+j))

      {

        temp=*(p+i);

        *(p+i)=*(p+j);

        *(p+j)=temp;

      }

    }

  }

  printf("三个数从小到大排序为:");

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

  {

    printf("%d ",*(p+i));

  }

  return 0;

}

  
  

评论区

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