易百教程

编写程序对40个随机数进行排序

创建一个程序,从范围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