落花风起 2023-07-07 00:53 采纳率: 0%
浏览 26

功能:读入一个整数m( 5≤m≤20 ),函数getarr调用函数rnd获 得m个随机整数,函数sortpb将这m个随机整数从小到大排序

功能:读入一个整数m( 5≤m≤20 ),函数getarr调用函数rnd获
得m个随机整数,函数sortpb将这m个随机整数从小到大排序

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-07-07 08:09
    关注

    试一下:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    // 生成随机数
    int rnd() {
        return rand() % 100; // 假设生成 0-99 的随机整数
    }
    
    // 冒泡排序
    void sortpb(int arr[], int n) {
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交换元素
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }
    
    // 获取m个随机整数
    void getarr(int m) {
        int arr[m];
    
        // 设置随机种子
        srand(time(NULL));
    
        // 生成随机数并存入数组
        for (int i = 0; i < m; i++) {
            arr[i] = rnd();
        }
    
        // 排序
        sortpb(arr, m);
    
        // 输出排序后的数组
        for (int i = 0; i < m; i++) {
            printf("%d ", arr[i]);
        }
        printf("\n");
    }
    
    int main() {
        int m;
    
        printf("请输入一个整数m(5≤m≤20): ");
        scanf("%d", &m);
    
        if (m < 5 || m > 20) {
            printf("输入的整数不符合要求!\n");
            return 1;
        }
    
        getarr(m);
    
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 7月7日