4、通过下面题目,掌握数組做函数参数、指针指向数组、冒泡排序、选择法排序等内容 •编写排序函数voidselectsortCintxarray,intn),它的功能是利用选择法实现数组元泰从 大到小的排序;voidbubblesort(intxarray,intn),它的功能是利用冒泡法实现数组元 素从小到大的排序。 。在main西数中定义数组(长度自定),用scanf进行数组的初始化,然后调用selectSort函数进行 从大到小排序,再使用bubblesort函数重新进行从小到大的排序。最后将排好序的数組打印输出。 ••输出样式如下图所示。 请输人数据 3517219046 选择法从大到小排序结果为: 9765432110 冒泡法从小到大排序结果为: 0112345679 程序
时间: 2024-02-21 13:00:01 浏览: 106
二维数组,选择排序和冒泡排序
抱歉,作为一个语言模型,我无法编写和运行代码。但是,我可以提供一个实现选择排序和冒泡排序的C语言代码示例供您参考:
```
#include <stdio.h>
void selectSort(int x[], int n) {
int i, j, maxIdx, temp;
for (i = 0; i < n - 1; i++) {
maxIdx = i;
for (j = i + 1; j < n; j++) {
if (x[j] > x[maxIdx]) {
maxIdx = j;
}
}
if (maxIdx != i) {
temp = x[i];
x[i] = x[maxIdx];
x[maxIdx] = temp;
}
}
}
void bubbleSort(int x[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (x[j] > x[j + 1]) {
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
}
}
int main() {
int n, i;
printf("请输入数组长度:");
scanf("%d", &n);
int x[n];
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &x[i]);
}
selectSort(x, n);
printf("选择法从大到小排序结果为:");
for (i = 0; i < n; i++) {
printf("%d", x[i]);
}
printf("\n");
bubbleSort(x, n);
printf("冒泡法从小到大排序结果为:");
for (i = 0; i < n; i++) {
printf("%d", x[i]);
}
printf("\n");
return 0;
}
```
这个程序要求用户输入一个整数数组,并使用选择排序和冒泡排序将其排序后打印输出。您可以根据需要进行修改和调整。
阅读全文