用c语言写出一个代码要求1、主程序中循环调用 10000 次 MyRandom(1,100),求随机数分布情况。 2、制作一“35 选 7 ” 福利彩券摇奖器,即:每次运行,随机产生 7 个 1~35 的不重复的整数。 3、制作一“x 选 y ”通用福利彩券摇奖器,即:每次运行,随机产生 y 个 1~ x 的不重复的整数。 要求交互良好,使用方便。
时间: 2024-03-26 15:38:35 浏览: 47
好的,以下是符合要求的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int MyRandom(int low, int high) {
return rand() % (high - low + 1) + low;
}
int main() {
int i, j, num, count[100] = {0};
// 设置随机数种子
srand((unsigned)time(NULL));
// 1. 主程序中循环调用 10000 次 MyRandom(1,100),求随机数分布情况。
for (i = 0; i < 10000; i++) {
num = MyRandom(1, 100);
count[num-1]++;
}
for (i = 0; i < 100; i++) {
printf("随机数 %d 出现了 %d 次\n", i+1, count[i]);
}
// 2. 制作一“35 选 7 ”福利彩券摇奖器,即:每次运行,随机产生 7 个 1~35 的不重复的整数。
int nums[7];
for (i = 0; i < 7; i++) {
nums[i] = MyRandom(1, 35);
for (j = 0; j < i; j++) {
if (nums[i] == nums[j]) {
i--;
break;
}
}
}
printf("本期中奖号码为:");
for (i = 0; i < 7; i++) {
printf("%d ", nums[i]);
}
printf("\n");
// 3. 制作一“x 选 y ”通用福利彩券摇奖器,即:每次运行,随机产生 y 个 1~x的不重复的整数。要求交互良好,使用方便。
int x, y;
printf("请输入 x 的值:");
scanf("%d", &x);
printf("请输入 y 的值:");
scanf("%d", &y);
int nums2[y];
for (i = 0; i < y; i++) {
nums2[i] = MyRandom(1, x);
for (j = 0; j < i; j++) {
if (nums2[i] == nums2[j]) {
i--;
break;
}
}
}
printf("本期中奖号码为:");
for (i = 0; i < y; i++) {
printf("%d ", nums2[i]);
}
printf("\n");
return 0;
}
```
这个 C 语言代码也包含了三个要求的功能,使用了 MyRandom 函数来产生随机数。同时,为了避免重复,制作了去重的处理,确保每次产生的随机数都是不重复的。使用者只需要输入 x 和 y 的值即可产生对应数量的随机数,方便实用。
阅读全文