21xrx.com
2024-12-27 05:38:53 Friday
登录
文章检索 我的文章 写文章
C++输入5个数,从小到大排序输出
2023-07-10 22:22:40 深夜i     --     --
C++ 输入 排序 小到大 输出

在C++编程中,排序算法是一个非常重要的基础知识点。在本文中,我们将介绍如何使用C++语言输入5个数字,然后将这些数字从小到大排序,并输出排好序的结果。

首先,我们需要使用C++中的iostream库来实现输入和输出。具体来说,我们可以使用cin来输入数字,使用cout来输出数字。例如,下面的代码段从键盘上输入了5个数字:


#include <iostream>

using namespace std;

int main()

{

  int a[5];

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

    cin>>a[i];

  return 0;

}

接下来,我们需要实现一个排序的算法。在本例中,我们将使用快速排序算法。该算法的基本思想是将待排序的数组分成两个部分,并对每个部分进行排序。首先,我们需要编写一个函数来实现快速排序。以下是这个函数的代码:


void quicksort(int a[], int left, int right)

{

  int i, j, mid;

  i = left;

  j = right;

  mid = a[(left + right) / 2];

  do

  {

    while (a[i] < mid) i++;

    while (a[j] > mid) j--;

    if (i <= j)

    {

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

      i++;

      j--;

    }

  } while (i <= j);

  if (left < j) quicksort(a, left, j);

  if (i < right) quicksort(a, i, right);

}

最后,我们可以在main函数中调用quicksort函数来排序数组,并输出结果。完整的程序代码如下:


#include <iostream>

using namespace std;

void quicksort(int a[], int left, int right)

{

  int i, j, mid;

  i = left;

  j = right;

  mid = a[(left + right) / 2];

  do

  {

    while (a[i] < mid) i++;

    while (a[j] > mid) j--;

    if (i <= j)

    {

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

      i++;

      j--;

    }

  } while (i <= j);

  if (left < j) quicksort(a, left, j);

  if (i < right) quicksort(a, i, right);

}

int main()

{

  int a[5];

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

    cin>>a[i];

  quicksort(a,0,4);

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

    cout<<a[i]<<" ";

  return 0;

}

这个程序的输出结果将是5个数字按从小到大排列的结果。如果输入的数字分别为5, 2, 4, 1, 3,则程序的输出结果将是1, 2, 3, 4, 5。

综上所述,这是一个非常简单的C++程序,它演示了如何输入5个数字,并将它们从小到大排序输出。无论您是刚开始学习C++,还是已经有了一定的编程经验,这个程序都可以帮助您更好地理解快速排序算法。

  
  

评论区

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