<stdio.h>
#include
<time.h>
#include
<stdlib.h>
void
Swap(int*
a,
int*
b)
//
交换
{
int
t
t
=
*a
*a
=
*b
*b
=
t
}
void
AsceSort(int*
begin,
int*
end)
//
升序排序
{
for(int*
p
=
begin
p
!=
end)
if(p
==
begin
||
*(p-1)
<=
*p)
++p
else
Swap(p---1,
p)
}
void
DescSort(int*
begin,
int*
end)
//
降序排序
{
for(int*
p
=
begin
p
!=
end)
if(p
==
begin
||
*(p-1)
>=
*p)
++p
else
Swap(p---1,
p)
}
void
Print(int*
a,
int
n)
//
10个一行输出
{
int
i
for(i
=
0
i
<
n
++i)
{
if(i
!=
0
&&
i
%
10
==
0)
putchar('\n')
printf("%4d
",
a[i])
}
putchar('\n')
}
#define
N
1000
int
main()
{
int
a[N],
i
srand(time(0))
for(i
=
0
i
<
N
++i)
a[i]
=
rand()
%
1001
+
1
puts("整理前排列:")
Print(a,
N)
puts("递增排列:")
AsceSort(a,
a
+
N)
Print(a,
N)
puts("递减排列:")
DescSort(a,
a
+
N)
Print(a,
N)
return
0
}
源程序以及算法注释如下:
#define _CRT_SECURE_NO_WARNINGS//VS编译环境需要进行宏定义,VC6.0可忽略
#include<stdio.h>//输入输出头文件
int main()
{
int number[10], New_number[10]//定义数组的数据类型为整型
int i, j, m, n, k//定义变量的数据类型为整型
printf("input 10 <int>number:")//文字提示
for (i = 0i <= 9i++)//用循环输入数值给数组number并赋给数组New_number
{
scanf("%d", &number[i])//输入10个整形数字到数组中
New_number[i] = number[i]//数组number元素赋给数组New_number
}
for (n = 0n <= 8n++)//要进行(10-1)组比较
for (j = 0j <= 8 - nj++)//每组进行(10减第几组)次比较
{
if (number[j] >number[j + 1])//比较大小并将小的赋给前面的数组
{
k = number[j]//将相对较大的元素赋值给中间元素
number[j] = number[j + 1]//将相对较小的元素送达前面一个位置
number[j + 1] = k//将中间变量元素送给后面一个位置
}
if (New_number[j] <New_number[j + 1])//比较大小并将大的赋给前面的数组
{
k = New_number[j + 1]//将相对较小的元素赋值给中间元素
New_number[j + 1] = New_number[j]//将相对较大的元素送达前面一个位置
New_number[j] = k//将中间变量元素送给后面一个位置
}
}
printf("min-->max:\n")//文字提示
for (m = 0m <= 9m++)//依次从小到大输出
printf("%d ", number[m])//输出元素
printf("\n")
printf("max-->min:\n")//文字提示
for (m = 0m <= 9m++)//依次从大到小输出
printf("%d ", New_number[m])//输出元素
printf("\n")
return 0
}
程序运行结果如下:
扩展资料:
其他简单实现程序:
#include<stdio.h>
int main()
{
int a[10]={0}
int i,j,temp
for(i = 0i<10i++)
{
scanf("%d",&a[i])
}
for(i = 0i<10i++)
{
for(j = 0j<10-i-1j++)
{
if(a[j]>a[j+1])
{
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
}
}
}
for(i = 0i<10i++)
printf("%d ",a[i])
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)