• 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

  • 相关阅读:
    如何给发票抬头增加页签
    记录激活SAP SMTP服务过程
    反射
    乱码问题
    使用idea的常用的技巧
    解决double的值相加的问题
    代理模式之静态代理
    foreach的真面目
    记录java的面试的每一个瞬间
    变量的经典
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564889.html
Copyright © 2020-2023  润新知