c语言随机生成10个数存入数组中
时间: 2023-11-19 12:04:34 浏览: 350
可以使用C语言中的rand函数来生成随机数,然后存入数组中。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[10];
int i;
// 设置种子,使得每次运行程序生成的随机数不同
srand(time(NULL));
// 生成随机数并存入数组中
for (i = 0; i < 10; i++) {
arr[i] = rand() % 100; // 生成0~99之间的随机数
}
// 打印数组中的随机数
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
上述代码中,使用srand函数设置种子,以保证每次运行程序生成的随机数不同。然后使用rand函数生成0~99之间的随机数,并存入数组中。最后打印数组中的随机数。
相关问题
c语言随机生成10个两位数存入数组中
可以使用C语言中的rand()函数和srand()函数来生成随机数,并将其存入数组中。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int nums[10];
int i;
srand(time(NULL)); // 初始化随机数种子
for (i = 0; i < 10; i++) {
nums[i] = rand() % 90 + 10; // 生成10 ~ 99之间的随机数
printf("%d ", nums[i]); // 输出生成的随机数
}
return 0;
}
```
其中,srand()函数用于初始化随机数种子,需要传入一个参数,通常使用当前时间作为种子,以保证每次运行程序时生成的随机数不同。rand()函数用于生成随机数,它会返回一个在0到RAND_MAX之间的整数,因此需要使用取余运算符(%)将其限制在10到99之间。循环10次,将生成的随机数存入数组中,并输出到屏幕上。
C语言随机生成64位数,存放数组中
在C语言中,生成64位随机数并存储在一个数组中通常需要用到`<stdlib.h>`库中的`rand()`函数和一些位操作来组合生成所需的随机精度。由于`rand()`返回的是32位整数,我们需要将多个调用的结果组合成一个64位数。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 8 // 假设我们想要一个包含8个元素的64位数组
// 将两个32位随机数连接为64位
unsigned long long combine_two_32_bits(unsigned int high, unsigned int low) {
return ((unsigned long long)high << 32) | low;
}
int main() {
srand(time(0)); // 设置随机种子,确保每次程序运行得到不同的结果
unsigned int high_part[ARRAY_SIZE / sizeof(unsigned int)];
unsigned int low_part[ARRAY_SIZE / sizeof(unsigned int)];
for (int i = 0; i < ARRAY_SIZE; i++) {
// 生成两组32位随机数
high_part[i] = rand();
low_part[i] = rand();
// 结合两部分生成64位数,并存入数组
unsigned long long combined_num = combine_two_32_bits(high_part[i], low_part[i]);
unsigned char combined_array; // 预留足够的空间存储64位数值(8字节)
memcpy(combined_array, &combined_num, sizeof(combined_num));
printf("Array element %d: ", i);
for (size_t j = 0; j < sizeof(combined_array); j++) {
printf("%02X", combined_array[j]); // 输出十六进制表示
}
printf("\n");
}
return 0;
}
```
请注意,这个方法仅适用于32位系统,因为64位系统中`unsigned int`可能已经是64位。在64位系统上,直接使用`unsigned long long`类型即可。
阅读全文