c语言实现很多校园都放置了大量的快递自提柜,放入快递时生成一个 取件码发给用户,用户凭取件码自行提取货物。取件码的字 符包括:数字0-9和字母A、B、C、D、E、F、G、H、I、J。 从以上字符串 'ABCDEFGHIJ0123456789'中任取 6 个生成一个 形如"9I16A4"的取件码,各字符的使用次数无限制。 随机数种子 n 由用户输入。
时间: 2023-01-31 12:03:22 浏览: 213
在 C 语言中,可以使用 rand() 函数来生成随机数。需要先调用 srand() 函数来设置随机数种子。例如:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int n;
printf("请输入随机数种子: ");
scanf("%d", &n);
srand(n);
char chars[] = "ABCDEFGHIJ0123456789";
int len = sizeof(chars) - 1; // 去掉结尾的 NULL 字符
char code[7] = {0}; // 取件码最多包含 6 个字符,加上结尾的 NULL 字符,数组大小为 7
for (int i = 0; i < 6; i++) {
int index = rand() % len; // 获取随机数,并取模,使得结果范围在 0 到 len-1 之间
code[i] = chars[index]; // 从 chars 数组中取出随机的字符
}
printf("取件码: %s\n", code);
return 0;
}
```
在这个程序中,我们先读入随机数种子 n,然后使用 srand(n) 设置随机数种子,接下来使用 rand() 函数生成 6 个随机数,并使用这些随机数从字符串中取出对应的字符,最后输出生成的取件码。
阅读全文