3.利用指针将10个数排序。C语言
时间: 2024-05-16 11:12:55 浏览: 77
可以使用冒泡排序法来实现:
```
#include <stdio.h>
void bubble_sort(int *arr, int len){
int i, j, temp;
for(i=0; i<len-1; i++){
for(j=0; j<len-1-i; j++){
if(*(arr+j) > *(arr+j+1)){
temp = *(arr+j);
*(arr+j) = *(arr+j+1);
*(arr+j+1) = temp;
}
}
}
}
int main(){
int arr[10] = {9, 3, 5, 2, 8, 4, 7, 1, 6, 0};
int i;
printf("排序前:");
for(i=0; i<10; i++){
printf("%d ", arr[i]);
}
bubble_sort(arr, 10);
printf("\n排序后:");
for(i=0; i<10; i++){
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果:
```
排序前:9 3 5 2 8 4 7 1 6 0
排序后:0 1 2 3 4 5 6 7 8 9
```
相关问题
c语言利用指针将十个数排序
下面是一种利用指针将十个数排序的C语言实现方式:
```
#include <stdio.h>
void sort(int *arr, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (*(arr + i) > *(arr + j)) {
temp = *(arr + i);
*(arr + i) = *(arr + j);
*(arr + j) = temp;
}
}
}
}
int main() {
int i;
int arr[10] = {9, 5, 7, 2, 3, 8, 4, 1, 6, 0};
sort(arr, 10);
printf("Sorted array: ");
for (i = 0; i < 10; i++) {
printf("%d ", *(arr + i));
}
return 0;
}
```
在上述代码中,我们定义了一个 `sort` 函数,它接受一个整型数组指针和数组长度作为参数。这个函数使用冒泡排序算法来将数组中的元素排序。在 `main` 函数中,我们声明了一个包含10个元素的整型数组 `arr`,并将其作为参数传递给 `sort` 函数来进行排序。最终,我们使用循环打印出已排序的数组。
C语言利用指针将10个数排序
以下是使用指针将10个数排序的C语言代码:
```c
#include <stdio.h>
void bubbleSort(int *arr, int n);
int main() {
int arr[10] = {9, 2, 6, 3, 1, 8, 7, 5, 10, 4};
int n = 10;
int *ptr = arr;
bubbleSort(ptr, n);
printf("排序后的数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", *(ptr + i));
}
return 0;
}
void bubbleSort(int *arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
int temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
```
在主函数中,我们首先声明了一个包含10个元素的整型数组arr,并将其第一个元素地址赋值给指针ptr。
然后,我们调用bubbleSort函数,并将数组指针和数组长度作为参数传递给它。
在bubbleSort函数中,我们使用嵌套的循环来比较数组元素,如果相邻两个元素的值不符合升序的要求,就将它们交换位置。
最后,在主函数中,我们使用指针遍历排序后的数组,并将其输出。
阅读全文