#include <stdio.h> #include <stdlib.h> #include <time.h>

#define MAX_NUM 150 #define SELECT_NUM 78

int main() { int nums[MAX_NUM]; int selected[SELECT_NUM]; int i, j, r;

// 初始化数组
for (i = 0; i < MAX_NUM; i++) {
    nums[i] = i + 1;
}

// 随机选取
srand((unsigned)time(NULL));
for (i = 0; i < SELECT_NUM; i++) {
    r = rand() % (MAX_NUM - i);
    selected[i] = nums[r];
    // 从数组中删除已选取的数
    for (j = r; j < MAX_NUM - i - 1; j++) {
        nums[j] = nums[j + 1];
    }
}

// 输出结果
printf('随机选取的%d个数为:\n', SELECT_NUM);
for (i = 0; i < SELECT_NUM; i++) {
    printf('%d ', selected[i]);
}
printf('\n');

return 0;

}

C语言实现随机抽取1-150不重复数字

原文地址: https://www.cveoy.top/t/topic/lfbD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录