编写c语言程序,要求对冒泡排序算法对n个随机整数进行排序,并输出排序结果。(要求主函数中调用子函数,并用由键盘中输入n值,要调用随机函数随机生成n个整数,并进行排序)
时间: 2024-09-06 17:04:46 浏览: 93
杨辉三角文档
在C语言中,你可以通过以下几个步骤编写一个程序,使用冒泡排序算法对用户输入的随机整数进行排序:
1. **包含头文件**:
```c
#include <stdio.h>
#include <stdlib.h> // 包含用于生成随机数的头文件
```
2. **定义随机数生成函数**:
使用`rand()`和`srand()`函数来自动生成随机整数。这里假设我们使用当前时间作为种子来初始化随机数发生器:
```c
int random_int(int min, int max) {
srand(time(0));
return (rand() % (max - min + 1)) + min;
}
```
3. **定义冒泡排序函数**:
```c
void bubble_sort(int arr[], int n) {
for(int i = 0; i < n - 1; i++) {
for(int j = 0; j < n - 1 - i; j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
```
4. **主函数**:
用户输入n,然后创建并初始化数组,调用随机数生成函数填充数组,最后调用冒泡排序函数并打印结果:
```c
int main() {
int n, i;
printf("Enter the number of elements: ");
scanf("%d", &n);
// 创建数组
int arr[n];
// 生成随机数并赋值给数组
for(i = 0; i < n; i++) {
arr[i] = random_int(1, 100); // 这里设置了一个范围,你可以根据需要调整
}
// 调用冒泡排序
bubble_sort(arr, n);
// 输出排序后的数组
printf("Sorted array: \n");
for(i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
阅读全文