C语言随机数1到1万
时间: 2023-12-08 11:04:18 浏览: 31
你可以使用 C 语言的 rand() 函数生成随机数,然后通过取模运算来限制随机数的范围。例如,要生成 1 到 10000 之间的随机数,可以使用以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 设置随机数种子
int random_number = rand() % 10000 + 1; // 生成 1 到 10000 之间的随机数
printf("%d\n", random_number);
return 0;
}
```
这段代码中,srand() 函数用于设置随机数种子,time(NULL) 返回当前时间的秒数,保证每次运行程序时种子都不同,从而生成不同的随机数。rand() 函数生成一个范围在 0 到 RAND_MAX (通常为 32767)之间的随机整数,然后通过取模运算限制在 1 到 10000 之间。最后,使用 printf() 函数输出生成的随机数。
相关问题
c语言冒泡排序一百万个数
好的,下面是C语言实现冒泡排序一百万个数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubble_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[1000000];
int i;
clock_t start, end;
double cpu_time_used;
// 生成随机数
srand((unsigned int)time(NULL));
for (i = 0; i < 1000000; i++) {
arr[i] = rand();
}
// 排序并计时
start = clock();
bubble_sort(arr, 1000000);
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
printf("排序1000000个数所用的时间为 %f 秒\n", cpu_time_used);
return 0;
}
```
这里使用了C标准库中的 `time.h` 来计算程序运行时间。由于冒泡排序的时间复杂度为 $O(n^2)$,因此排序一百万个数所需的时间会比较长,需要等待一段时间才能得到结果。
C语言冒泡排序一百万个数
好的,下面是C语言实现冒泡排序一百万个数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void bubble_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[1000000];
int i;
clock_t start, end;
double cpu_time_used;
// 生成随机数
srand((unsigned int)time(NULL));
for (i = 0; i < 1000000; i++) {
arr[i] = rand();
}
// 排序并计时
start = clock();
bubble_sort(arr, 1000000);
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
printf("排序1000000个数所用的时间为 %f 秒\n", cpu_time_used);
return 0;
}
```
这里使用了C标准库中的 `time.h` 来计算程序运行时间。由于冒泡排序的时间复杂度为 $O(n^2)$,因此排序一百万个数所需的时间会比较长,需要等待一段时间才能得到结果。