模仿初学者编译C语言,用指针变量指向数组元素的方法将一个整型数组a中的10个元素使用冒泡法进行升序排列,要求从键盘输入10个整数,数据输入、排序、输出均用指针操作
时间: 2024-02-03 10:13:58 浏览: 84
好的,下面是代码实现:
```c
#include <stdio.h>
#define N 10
void bubble_sort(int* arr, int n);
int main()
{
int a[N];
int* p = a;
int i;
printf("请输入10个整数:\n");
for (i = 0; i < N; i++) {
scanf("%d", p+i);
}
bubble_sort(a, N);
printf("排序后的结果为:\n");
for (i = 0; i < N; i++) {
printf("%d ", *(p+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;
}
}
}
}
```
解释一下代码:
首先定义了一个整型数组 `a`,并用指针变量 `p` 指向它。然后从键盘输入要排序的 10 个整数,使用指针操作将输入的数据存入数组中。
接下来调用 `bubble_sort` 函数进行冒泡排序,排序后的结果也是使用指针操作输出。
`bubble_sort` 函数的实现与普通的冒泡排序一样,只不过数组的操作都用指针来完成。
希望这份代码能对你有所帮助!
阅读全文