c语言将三个数从大到小输出

在C语言中,排序算法是非常重要的基础内容,而将三个数从大到小输出也是排序算法的一种 。在本文中,我们将从多个角度分析如何使用C语言将三个数从大到小输出 。
一、冒泡排序法

c语言将三个数从大到小输出

文章插图
冒泡排序法是最基本的排序算法之一,也是最容易理解和实现的排序算法之一 。它的基本思想是:对于一个有n个元素的序列,从第一个元素开始,不断比较相邻的两个元素,如果左边的元素比右边的元素大,就交换这两个元素的位置,然后继续比较下一对相邻的元素,直到最后一对相邻的元素比较完毕,此时最大的元素就会被排到了最后一个位置 。然后,再从第一个元素开始,重复上述过程,直到所有元素都排好序为止 。
对于本题,我们可以先将三个数存储到一个数组中,然后使用冒泡排序法将它们从大到小排好序,最后输出即可 。具体实现代码如下:
```
#include
void main()
{
int arr[3], i, j, temp;
printf("请输入三个整数:\n");
for (i = 0; i < 3; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2 - i; j++)
{
if (arr[j] < arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
【c语言将三个数从大到小输出】}
printf("排序后的结果为:\n");
for (i = 0; i < 3; i++)
{
printf("%d ", arr[i]);
}
}
```
二、选择排序法
选择排序法是另一种简单的排序算法,它的基本思想是:对于一个有n个元素的序列,从第一个元素开始,不断找到最小或最大的元素,然后将它与第一个位置或最后一个位置的元素交换,然后再从第二个元素开始重复上述过程,直到所有元素都排好序为止 。
对于本题,我们可以先将三个数存储到一个数组中,然后使用选择排序法将它们从大到小排好序,最后输出即可 。具体实现代码如下:
```
#include
void main()
{
int arr[3], i, j, temp, max;
printf("请输入三个整数:\n");
for (i = 0; i < 3; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < 2; i++)
{
max = i;
for (j = i + 1; j < 3; j++)
{
if (arr[j] > arr[max])
{
max = j;
}
}
temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
printf("排序后的结果为:\n");
for (i = 0; i < 3; i++)
{
printf("%d ", arr[i]);
}
}
```
三、插入排序法
插入排序法也是一种常见的排序算法,它的基本思想是:对于一个有n个元素的序列,将这个序列分成两个部分,一部分是已经排好序的序列,另一部分是未排序的序列 。然后,从未排序的序列中选择一个元素,插入到已排好序的序列中的适当位置,直至所有元素都排好序为止 。
对于本题,我们可以先将三个数存储到一个数组中,然后使用插入排序法将它们从大到小排好序,最后输出即可 。具体实现代码如下:
```
#include
void main()
{
int arr[3], i, j, temp;
printf("请输入三个整数:\n");
for (i = 0; i < 3; i++)
{
scanf("%d", &arr[i]);
}
for (i = 1; i < 3; i++)
{
temp = arr[i];
j = i - 1;
while (j >= 0 && arr[j] < temp)
{
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
}
printf("排序后的结果为:\n");
for (i = 0; i < 3; i++)
{
printf("%d ", arr[i]);
}
}
```
综上所述,本文从冒泡排序法、选择排序法和插入排序法三个角度分别介绍了如何使用C语言将三个数从大到小输出 。通过本文的学习,读者可以更好地掌握排序算法的基本思想和实现方法 。

推荐阅读