c语言如何随机产生1-100的整数并存放在数组
时间: 2024-02-11 15:09:45 浏览: 30
可以使用C语言中的rand函数来生成随机数,再将随机数存入数组。具体实现方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[100]; // 定义存放随机数的数组
int i;
// 设置随机数种子
srand((unsigned)time(NULL));
// 生成100个1-100之间的随机数
for (i = 0; i < 100; i++) {
arr[i] = rand() % 100 + 1;
}
// 输出随机数数组
for (i = 0; i < 100; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码中,首先定义了一个长度为100的整型数组`arr`,然后使用`srand`函数设置随机数种子,接着使用`rand`函数生成100个1-100之间的随机数,并存入数组中。最后使用`for`循环遍历数组并输出随机数。
相关问题
C语言把整形1-10存到char数组中
可以使用字符数组(char array)来存储整数,但是需要注意的是字符数组的长度必须足够存储所有的数字和可能的符号。如果只是存储1-10这10个整数,我们可以使用以下代码:
```c
char num[20]; // 定义一个长度为20的字符数组,用于存放整数
for(int i=1; i<=10; i++){
num[i-1] = i + '0'; // 将数字转为字符存入数组,注意加上 '0'
}
printf("%s", num); // 打印字符数组
```
在上面的代码中,我们定义了一个长度为20的字符数组`num`,然后使用for循环将1-10依次转换成字符,并存储到数组中。注意,我们需要将数字转换成字符,可以通过加上字符`'0'`来实现。最后,我们可以使用printf函数打印整个字符数组。
C语言把整形1-31存到char数组中
你可以使用位运算符将整数转换为二进制串,并将每个二进制位存储到一个char数组中。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int num = 31;
char binary[32]; // 32位二进制数,需要一个额外的空间存放'\0'
binary[31] = '\0'; // 数组最后一个元素为'\0'
// 将num转换为二进制串存储到binary数组中
for (int i = 30; i >= 0; i--) {
binary[i] = ((num >> (30 - i)) & 1) + '0'; // 位运算得到二进制位,加上'0'转换为字符
}
printf("%s\n", binary);
return 0;
}
```
输出:
```
00000000000000000000000000011111
```
在上面的代码中,我们使用位运算符`>>`和`&`将每个二进制位提取出来,并将其存储在`binary`数组中。需要注意的是,数组中的最后一个元素必须是`\0`,这样才能正确地将`binary`数组作为字符串输出。