C语言编写一个将n个整数用选择法按由小到大的顺序排序的函数void sort( int *p , int n),在主函数中两次调用该函数,对3,9,2,8,6,1和11,5,18,7,2,15,4,13,9,3两组数进行排序。
时间: 2024-06-13 10:08:34 浏览: 158
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
以下是C语言编写的将n个整数用选择法按由小到大的顺序排序的函数void sort( int *p , int n)的代码实现:
```c
void sort(int *p, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (*(p + j) < *(p + i)) {
temp = *(p + j);
*(p + j) = *(p + i);
*(p + i) = temp;
}
}
}
}
```
在主函数中,可以通过定义数组来存储需要排序的整数,然后调用sort函数进行排序。对于两组数,可以分别定义不同的数组,并分别调用sort函数进行排序。代码如下:
```c
#include <stdio.h>
void sort(int *p, int n);
int main() {
int arr1[] = {3, 9, 2, 8, 6, 1};
int arr2[] = {11, 5, 18, 7, 2, 15, 4, 13, 9, 3};
int i, len1 = sizeof(arr1) / sizeof(int), len2 = sizeof(arr2) / sizeof(int);
printf("排序前的arr1数据:");
for (i = 0; i < len1; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
sort(arr1, len1);
printf("排序后的arr1数据:");
for (i = 0; i < len1; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
printf("排序前的arr2数据:");
for (i = 0; i < len2; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
sort(arr2, len2);
printf("排序后的arr2数据:");
for (i = 0; i < len2; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}
```
阅读全文