C语言对用随机函数产生的10个数,按从小到大的顺序排序,分别用冒泡排序、选择排序、插入排序来实现
时间: 2023-06-11 14:09:00 浏览: 72
C语言生成不同的随机数,并从小到大排序
5星 · 资源好评率100%
冒泡排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
int a[N];
int i, j, temp;
srand(time(NULL));
printf("生成的随机数为:\n");
for (i = 0; i < N; i++) {
a[i] = rand() % 100;
printf("%d ", a[i]);
}
printf("\n");
// 冒泡排序
for (i = 0; i < N - 1; i++) {
for (j = 0; j < N - i - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
printf("排序后的数组为:\n");
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
选择排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
int a[N];
int i, j, min, temp;
srand(time(NULL));
printf("生成的随机数为:\n");
for (i = 0; i < N; i++) {
a[i] = rand() % 100;
printf("%d ", a[i]);
}
printf("\n");
// 选择排序
for (i = 0; i < N - 1; i++) {
min = i;
for (j = i + 1; j < N; j++) {
if (a[j] < a[min]) {
min = j;
}
}
if (min != i) {
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
printf("排序后的数组为:\n");
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
插入排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
int a[N];
int i, j, temp;
srand(time(NULL));
printf("生成的随机数为:\n");
for (i = 0; i < N; i++) {
a[i] = rand() % 100;
printf("%d ", a[i]);
}
printf("\n");
// 插入排序
for (i = 1; i < N; i++) {
temp = a[i];
j = i - 1;
while (j >= 0 && a[j] > temp) {
a[j + 1] = a[j];
j--;
}
a[j + 1] = temp;
}
printf("排序后的数组为:\n");
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
阅读全文