您的位置:首页 > 其它

【C】对三个数字进行降序排列

2018-03-21 18:44 211 查看
1.原理:首先用一个一维数组来存放输入的数字,其次对输入的数字进行冒泡排序,最后依次输出数组的元素即就是降序排列的结果。
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.输出结果



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐