zoukankan      html  css  js  c++  java
  • B00001 C语言动态存储分配空间作为数组

    将动态存储分配的空间作为数组的存储空间来使用。

    使用随机数函数生成数据填入数组中,随机数为整数,值的范围为0到999。

    用冒泡排序对数据进行排序。

    程序如下:

    #include <stdio.h>
    #include<stdlib.h>
    #include <time.h>
    
    void getData(int [], int);
    void printData(int [], int);
    
    void bubblesort(int a[], int n);
    
    int main(void)
    {
        int n;
        int *pa;
    
        printf("请输入数据个数:");
        scanf("%d", &n);
    
        pa = (int *) malloc(n * sizeof(int));
    
        getData(pa, n);
    
        printf("排序前:");
        printData(pa, n); /* 输出数组a的元素 */
    
        bubblesort(pa, n); /* 冒泡排序:对数组a中的元素进行排序 */
    
        printf("排序后:");
        printData(pa, n); /* 输出数组a的元素 */
    
        free(pa);
    
        return 0;
    }
    
    /* 冒泡排序 */
    void bubblesort(int a[], int n)
    {
        int i, j;
    
        for(i=n-1; i > 0; i--)
        {
            for(j=1; j<=i; j++)
                if(a[j-1] > a[j]) {
                    int temp = a[j-1]; /* 交换两个相邻的数 */
                    a[j-1] = a[j];
                    a[j] = temp;
                }
        }
    }
    
    void getData(int d[], int n)
    {
        time_t t;
        srand((unsigned) time(&t));  /* 设置随机数起始值 */
    
        int i;
        for(i=0; i < n; i++)
            d[i] = rand() % 1000; /* 获得0-999之间的整数值 */
    }
    
    void printData(int d[], int n)
    {
        int i;
        for (i = 0; i < n; i++)
          printf("%d ", d[i]);
        printf("
    ");
    }
    输入数据个数为10时的运行结果如下:

    请输入数据个数:10
    排序前:763 481 720 265 74 738 784 884 371 591
    排序后:74 265 371 481 591 720 738 763 784 884

  • 相关阅读:
    DOS 错误代码
    WINRAR 建立批处理备份文件
    clear.bat
    continue break
    播放dll中的wav声音
    BAT删除自身del 0
    bat 延时10秒自动关闭自己bat
    产生随机数
    RemoveDirZ.bat
    DELPHI中取整数的方法
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564888.html
Copyright © 2011-2022 走看看