【C】对三个数字进行降序排列
程序员文章站
2022-03-03 16:09:54
...
1.原理:首先用一个一维数组来存放输入的数字,其次对输入的数字进行冒泡排序,最后依次输出数组的元素即就是降序排列的结果。(ps:排序算法之冒泡排序)
2.源代码:
/*
* Copyright (c) 2018, code farmer from sust
* All rights reserved.
*
* 文件名称:SortThree.c
* 功能:对三个数字按照降序排序
*
* 当前版本:V1.0
* 作者:sustzc
* 完成日期:2018年3月21日18:02:21
*/
# include <stdio.h>
# include <stdlib.h>
# define ARRAY_LEN 3
/*
* 函数名称:BubbleSort
*
* 函数功能:冒泡排序(降序)
*
* 入口参数:a, len
*
* 出口参数:无
*
* 返回类型:void
*/
void BubbleSort(int * a, int len)
{
int i = 0;
int j = 0;
int temp = 0;
if ((NULL != a) && (len > 0))
{
for (i=0; i<len-1; i++)
{
for (j=0; j<len-i-1; j++)
{
if (a[j] < a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
else
{
;
}
}
}
}
else
{
exit(1);
}
return;
}
/*
* 函数名称:Input
*
* 函数功能:输入数据
*
* 入口参数:pNum, length
*
* 出口参数:无
*
* 返回类型:void
*/
void Input(int * pNum, int length)
{
int k = 0;
if ((NULL != pNum) && (length > 0))
{
for (k=0; k<length; k++)
{
printf("请输入第%d个数字:", k+1);
scanf("%d", &pNum[k]);
}
}
else
{
exit(1);
}
return;
}
/*
* 函数名称:Output
*
* 函数功能:输出结果
*
* 入口参数:p, le
*
* 出口参数:无
*
* 返回类型:void
*/
void Output(int * p, int le)
{
int m = 0;
if ((NULL != p) && (le > 0))
{
for (m=0; m<le; m++)
{
printf("%d ", p[m]);
}
}
else
{
exit(1);
}
printf("\n");
return;
}
int main(void)
{
int arr[ARRAY_LEN] = {0};
Input(arr, ARRAY_LEN);
printf("排序之前的数字分别是:\n");
Output(arr, ARRAY_LEN);
printf("排序之后的数字分别是:\n");
BubbleSort(arr, ARRAY_LEN);
Output(arr, ARRAY_LEN);
system("pause");
return 0;
}
3.输出结果
上一篇: 1.1 序列分解为单独的变量
下一篇: 将序列分解为单独的变量