C语言编译程序:从键盘输入一个整数 n ( n ≤10)和 n 个整数,存入数组 a 中,先依次输出各个数组元素的值,然后对数组 a 的所有元素值按从小到大的顺序重新排列后,再依次输出,要求采用冒泡法进行排序
时间: 2023-06-14 14:04:52 浏览: 182
下面是一个实现上述功能的C语言程序:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n);
int main() {
int n, i;
int a[10];
// 从键盘读入 n 和 n 个整数
printf("请输入 n 的值:");
scanf("%d", &n);
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 输出原始数组
printf("原始数组:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 对数组进行排序并输出
bubble_sort(a, n);
printf("排序后的数组:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
// 冒泡排序
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;
}
}
}
}
```
程序首先从键盘读入 n 和 n 个整数,然后依次输出原始数组和排序后的数组。排序采用冒泡排序,即比较相邻两个元素,如果前面的元素比后面的元素大,则交换它们的值。经过一轮排序后,最大的元素就会被移动到数组最后面,然后再进行下一轮排序,直到所有元素都被排序好。
阅读全文