gpt4 book ai didi

c - 在 C 中使用 srand(1) 和 rand() 生成从 65 到 122 不包括 91-96 的 1000 个数字

转载 作者:行者123 更新时间:2023-12-05 09:07:25 24 4
gpt4 key购买 nike

我想生成从 65122 的 1000 个随机数,但使用 91-96 排除 rand()srand(1)。我该怎么做 ?这些随机数我只想要字母表中字母的 ASCII 码。

最佳答案

好吧,这就是我要做的。您只需为每个字符调用一次 rand(),无需创建包含大写字母和小写字母的数组。 generate_random_letters() 函数返回一个字符串,所以我在末尾添加了一个空字节,这样您就可以打印它而不会崩溃:

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

char *generate_random_letters(int length) {
int i, r;
char *p, *s;
p = s = malloc(length+1);
for (i=0; i<length; i++) {
r = rand() % 52 + 'A';
if (r > 'Z') r += 'a' - 'Z' - 1;
*p++ = r;
}
*p = '\0';
return s;
}

int main() {
char *str;
srand(1);
str = generate_random_letters(1000);
puts(str);
free(str);
return 0;
}

关于c - 在 C 中使用 srand(1) 和 rand() 生成从 65 到 122 不包括 91-96 的 1000 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64832858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com