c语言如何限制随机数生成大小
时间: 2023-12-16 22:22:34 浏览: 37
在C语言中,可以使用rand()函数生成随机数,但是这个函数生成的随机数是在0到RAND_MAX之间的整数。如果需要限制随机数的大小,可以使用取模运算(%)对生成的随机数进行限制。
例如,如果需要生成1到100之间的随机数,可以使用如下代码:
```
int num = rand() % 100 + 1;
```
这里,rand() % 100将生成0到99之间的随机数,再加上1,就可以生成1到100之间的随机数了。如果需要生成其他范围的随机数,只需要修改取模运算的参数即可。
相关问题
C语言生成随机数并快速排序
以下是一个示例程序,包含生成随机数和快速排序的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void quicksort(int *arr, int left, int right)
{
int i, j, pivot, temp;
if (left < right)
{
pivot = left;
i = left;
j = right;
while (i < j)
{
while (arr[i] <= arr[pivot] && i < right)
i++;
while (arr[j] > arr[pivot])
j--;
if (i < j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
temp = arr[pivot];
arr[pivot] = arr[j];
arr[j] = temp;
quicksort(arr, left, j - 1);
quicksort(arr, j + 1, right);
}
}
int main()
{
int n, i;
printf("Enter the size of array: ");
scanf("%d", &n);
int arr[n];
srand(time(0));
printf("Original array: ");
for (i = 0; i < n; i++)
{
arr[i] = rand() % 1000;
printf("%d ", arr[i]);
}
quicksort(arr, 0, n - 1);
printf("\nSorted array: ");
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
该程序首先要求用户输入数组大小,然后使用 `srand()` 函数和 `rand()` 函数生成随机数,并将随机数存储在数组中。然后,使用 `quicksort()` 函数对数组进行快速排序,并输出排序后的结果。
c语言产生随机数数组
在C语言中,可以使用rand()函数来产生随机数,但是需要注意的是,这些所谓的随机数实际上是伪随机数,也就是一系列经过特定算法计算得出的数字序列。为了生成随机数组,你可以使用以下示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 100
int main(void) {
int rand_arr[SIZE], i;
srand((unsigned)time(0)); // 设置种子,以便每次运行程序时生成不同的随机数
for (i = 0; i < SIZE; i++) {
rand_arr[i] = rand(); // 生成随机数并存入数组中
printf("%d\n", rand_arr[i]); // 打印生成的随机数
}
return 0;
}
```
此代码将生成一个大小为100的随机整数数组,并将随机数打印出来。你可以根据需要修改数组的大小。