创建一个程序,从范围1到100生成40个随机数。将这些值存储在数组中,最后打印显示数组中每个元素的值。对该数组进行排序。
实现代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 40
int main()
{
int bubble[SIZE];
int inner,outer,temp,x;
srand((unsigned)time(NULL));
/* 显示原始数组值 */
puts("原始数组:");
for(x=0;x<SIZE;x++)
{
bubble[x] = rand();
bubble[x] = (bubble[x] % 100)+1;
printf("%d\t",bubble[x]);
}
putchar('\n');
/* 冒泡排序 */
for(outer=0;outer<SIZE-1;outer++)
{
for(inner=outer+1;inner<SIZE;inner++)
{
if(bubble[outer] > bubble[inner])
{
temp=bubble[outer];
bubble[outer] = bubble[inner];
bubble[inner] = temp;
}
}
}
/* 显示排序的数组 */
puts("排序后的数组:");
for(x=0;x<SIZE;x++)
printf("%d\t",bubble[x]);
putchar('\n');
return(0);
}
执行上面示例代码,得到以下结果:
hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
原始数组:
83 61 58 5 55 63 60 60 21 68 20 16 7 11 3163 14 58 88 72 82 90 18 51 49 33 1 23 44 3153 26 44 63 82 50 25 93 9 45
排序后的数组:
1 5 7 9 11 14 16 18 20 21 23 25 26 31 3133 44 44 45 49 50 51 53 55 58 58 60 60 61 6363 63 68 72 82 82 83 88 90 93