C语言编写关于排列的程序

C语言编写关于排列的程序,第1张

#include

<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

}

排序数组可以使用冒泡算法:如果前一个数据比后一个大,则交换。

{

int i,j,t,a[6]

printf("Please input 6 integers:\n")

for(i=0i<6i++)

scanf("%d",&a[i])

for(i=0i<5i++) /* 冒泡法排序 */

for(j=0j<6-i-1j++)

if(a[j]>a[j+1])

{t=a[j]/* 交换a[i]和a[j] */

a[j]=a[j+1]

a[j+1]=t

}

优点:

简洁紧凑、灵活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。

以上内容参考:百度百科-c语言程序设计

1、启动VB6.0,新建一个标准exe工程。

2、在窗体上绘制一个命令按钮,名称为Command1。

3、双击命令按钮进入代码窗口。

4、编写命令按钮的单击事件。定义一个一维数组A有10个元素(1-10),随机产生一批两位数的随机数,有序地装入A(i)中,输出A(i),排序完成时方便观察比较。

5、编写程序中核心的代码部分。

6、断行,输出。

7、按F5运行测试即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12111476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存