用c语言生成七个1-36的随机数 并且每个数不一样
时间: 2024-06-02 15:14:06 浏览: 104
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int nums[7];
srand((unsigned int)time(NULL));
// 生成随机数
for (int i = 0; i < 7; i++) {
int flag;
do {
flag = 0;
nums[i] = rand() % 36 + 1;
// 判断是否重复
for (int j = 0; j < i; j++) {
if (nums[i] == nums[j]) {
flag = 1;
break;
}
}
} while (flag);
}
// 输出结果
for (int i = 0; i < 7; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
相关问题
在C语言中生成16个8bits的随机数,存在数组里
好的,可以使用C语言的rand函数来生成随机数,并将其存储到数组中。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 设置随机数种子
srand(time(NULL));
// 定义存储随机数的数组
unsigned char arr[16];
// 生成16个随机数并存储到数组中
for (int i = 0; i < 16; i++) {
arr[i] = (unsigned char)(rand() % 256);
printf("%d ", arr[i]); // 输出每个随机数的十进制形式
}
return 0;
}
```
这段代码中,使用srand函数设置随机数种子,保证每次运行程序生成的随机数都不一样。然后使用rand函数生成随机数,并将其强制转换为unsigned char类型,存储到数组中。最后使用printf函数输出每个随机数的十进制形式。
c语言随机数生成1到100程序
在C语言中生成1到100范围内的随机数,我们可以使用`rand()`函数结合`time()`函数。这里的关键步骤包括:
1. **初始化随机数生成器**:使用`srand(time(NULL))`来初始化随机数种子。这样做可以保证每次运行程序时得到不同的随机数序列。
2. **生成随机数**:使用`rand()`函数生成随机整数。为了将结果限制在1到100之间,我们需要对结果进行取模操作并加1,即`(rand() % 100) + 1`。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 初始化随机数种子
srand(time(NULL));
// 生成1到100之间的随机数
int random_number = (rand() % 100) + 1;
printf("随机生成的数字是: %d\n", random_number);
return 0;
}
```
### 相关问题 - C语言随机数生成:
1. **为什么使用`srand(time(NULL))`作为随机数种子?**
使用当前时间作为随机数种子可以确保每次程序运行时生成的随机数系列都是不同的,因为当前的时间点几乎是独一无二的。
2. **如何让程序每次运行时都生成相同的随机数序列?**
要让程序每次都生成相同的随机数序列,需要提供固定的种子值给`srand()`, 比如设置`srand(1)`,这会使得每一次运行时,由于始终相同的初始状态,所以生成的随机数序列是一样的。
3. **如果需要生成特定范围外的随机数怎么办?**
如果需要生成不在某个特定范围内的随机数,比如大于100的随机数,只需修改取模运算的部分即可。例如,生成0到999的随机数,可以使用`(rand() % 1000)`。 若要调整到其他范围,可以进行相应的比例变换,如生成50到150之间的随机数可以用`(rand() % 101) + 50`。
阅读全文