c随机生成1000个数进行排序
时间: 2023-06-06 13:02:43 浏览: 67
C语言中可以使用rand()函数来生成随机数,其返回值是0到RAND_MAX之间的整数。因此,可以利用for循环将生成的1000个随机数存储到数组中,如下所示:
```c
#include<stdio.h>
#include<stdlib.h>
#define LEN 1000
int main(){
int arr[LEN];
for(int i=0;i<LEN;i++){
arr[i]=rand();
}
//排序过程
return 0;
}
```
对于排序的过程,可以选择常见的排序算法,例如冒泡排序、选择排序、插入排序、快速排序等。这里以快速排序为例,代码如下所示:
```c
void quickSort(int arr[],int begin,int end){
if(begin>=end) return;
int l=begin,r=end,pivot=arr[l];
while(l<r){
while(l<r&&arr[r]>=pivot) r--;
arr[l]=arr[r];
while(l<r&&arr[l]<=pivot) l++;
arr[r]=arr[l];
}
arr[l]=pivot;
quickSort(arr,begin,l-1);
quickSort(arr,l+1,end);
}
```
最后调用quickSort函数对数组进行排序即可。
相关问题
C语言随机生成100个数并排序
好的,以下是C语言随机生成100个数并排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 100
int main() {
int arr[SIZE];
int i, j, temp;
// 设置随机数种子
srand((unsigned)time(NULL));
// 随机生成100个数
for (i = 0; i < SIZE; i++) {
arr[i] = rand() % 1000;
}
// 冒泡排序
for (i = 0; i < SIZE - 1; i++) {
for (j = 0; j < SIZE - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的结果
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,使用了C语言的随机数函数`srand()`和`rand()`,以及冒泡排序算法对100个随机数从小到大进行排序,并输出排序后的结果。
C语言随机生成100个数并进行选择排序
好的,以下是C语言随机生成100个数并进行选择排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 100
int main() {
int arr[SIZE];
int i, j, min, temp;
// 设置随机数种子
srand((unsigned)time(NULL));
// 随机生成100个数
for (i = 0; i < SIZE; i++) {
arr[i] = rand() % 1000;
}
// 选择排序
for (i = 0; i < SIZE - 1; i++) {
min = i;
for (j = i + 1; j < SIZE; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
if (min != i) {
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
// 输出排序后的结果
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,同样使用了C语言的随机数函数`srand()`和`rand()`,以及选择排序算法对100个随机数从小到大进行排序,并输出排序后的结果。