【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.输出结果
![](//img-blog.csdn.net/2018032118470381)
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.输出结果
相关文章推荐
- (五)、利用命令行参数输入三个整数,并对三个数字进行降序排列
- 2017年初编码标题之一:通过关键字查找在文字中出现的次数并按照降序的排列进行展示
- 两个数组 [n] [m] n>m 第一个数组的数字无序排列 第二个数组为空 取出第一个数组的最小值 放到第二个数组中第一个位置, 依次类推. 不能改变A数组,不能对之进行排序,也不可以倒到别的数组中。
- 【GridView表头排序】点击表头可以进行升序和降序的排列
- 使用引用将三个数字按照从小带大的顺序排列
- 输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
- 将一个链表进行降序排列
- C++,输入一组数据,降序排列后,删除三个连续元素的中间值
- 题目,得到某个数组,比如【1,2,3】 获得其全部的排列组合,包括1个数字的。2个数字的,和三个数字的等等
- 用c语言的指针来对三个数进行排列
- 【原】输入三个数字,从小到大排列显示的实现
- 从文本文件中读取随机数,并打印出数字所出现的次数,按次数降序排列
- 两个整数进行降序排列
- 输入五个数字,将其降序排列。然后插入一个数字,然后再降序排列。(冒泡法排序)
- 利用C#原有函数对数组进行降序排列
- 将1~6这6个数字按每行3个进行输出,输出时要求左边的数字比右边的大,上边的数字比下边的大,求出所有可能的填写方法并统计输出排列方法有多少种。
- 用面向对象解决:输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列
- 请通过代码实现以下功能:输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。
- 在控制台上输入一个字符串,将其中夹杂的字母去除,只剩数字,然后对对这些数字进行全排列,输出全排列结果
- 输入三个数字进行排序(冒泡原理)