Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34216
  • 博文数量: 14
  • 博客积分: 260
  • 博客等级: 二等列兵
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-11 10:46
个人简介

白黑

文章分类

全部博文(14)

文章存档

2012年(14)

我的朋友

分类: C/C++

2012-09-14 19:22:41


  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>


  4. #define N 200 //给随机数范围设定的最大值
  5. typedef int INT;

  6. void PrintArr(INT iArr[], INT iN); //输出整形数组
  7. void RandomArr(INT iArr[]); //产生整形随机数组
  8. void BubbleSort(INT iArr[]); //冒泡发排序整形数组

  9. INT
  10. main()
  11. {
  12.     INT iArr[N] = {0};

  13.     srand(time(NULL)); //设置初始化种子
  14.      //选time()的原因是,时间一直在变。
  15.     RandomArr(iArr); //产生随机数组

  16.     printf("随机的一组数为:\n"); //输出随机数组
  17.     PrintArr(iArr, N);

  18.     BubbleSort(iArr); //冒泡发为随机数组排序

  19.     printf("冒泡排序以后的数组:\n");//输出排序后的数组
  20.     PrintArr(iArr, N);

  21.     system("pause");
  22.     return 0;
  23. }


  24. void RandomArr(INT iArr[])
  25. {
  26.     int i = 0;
  27.     for(; i < N; i++){
  28.         iArr[i] = rand() % N + 1; //生成伪随机数
  29.     }
  30. }

  31. void BubbleSort(INT iArr[])
  32. {
  33.     int i = 0;
  34.     int j = 0;
  35.     
  36.     for(; i < N - 1; i++){
  37.         for(j = i + 1; j < N; j++){
  38.             INT iTemp;
  39.             
  40.             if(iArr[i] > iArr[j]){
  41.                 iTemp = iArr[i];
  42.                 iArr[i] = iArr[j];
  43.                 iArr[j] = iTemp;
  44.             }
  45.         }
  46.     }
  47. }

  48. void PrintArr(INT iArr[], INT iN)
  49. {
  50.     int i = 0;

  51.     for(i = 0; i < iN; i++){
  52.         printf("%5d", iArr[i]);
  53.         if((i + 1) % 10 == 0){
  54.             printf("\n");
  55.         }
  56.     }
  57.     printf("\n");
  58. }

阅读(877) | 评论(0) | 转发(0) |
0

上一篇:请学好C语言

下一篇:冒泡排序补充

给主人留下些什么吧!~~