模仿c语言初学者,用指针变量指向数组元素的方法将一个整型数组a中的10个元素使用冒泡法进行升序排列,要求从键盘输入10个整数,数据输入、排序、输出均用指针操作。
时间: 2024-02-03 12:14:25 浏览: 82
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
好的,下面是示例代码:
```c
#include <stdio.h>
// 冒泡排序函数
void bubble_sort(int *arr, int len) {
int i, j, tmp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (*(arr+j) > *(arr+j+1)) {
tmp = *(arr+j);
*(arr+j) = *(arr+j+1);
*(arr+j+1) = tmp;
}
}
}
}
int main() {
int i;
int a[10];
// 从键盘输入10个整数
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
// 排序
bubble_sort(a, 10);
// 输出排序后的结果
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", *(a+i));
}
return 0;
}
```
在这个程序中,我们首先定义了一个 `bubble_sort` 函数,用于实现冒泡排序。该函数使用了指针操作,其中参数 `arr` 是一个指向整型数组的指针,`len` 表示数组的长度。函数中使用了指针变量来访问数组元素,比如 `*(arr+j)` 就表示数组中第 j 个元素。
在 `main` 函数中,我们先定义了一个整型数组 `a`,然后从键盘输入了 10 个整数。接着调用 `bubble_sort` 函数对数组进行排序。最后使用指针变量访问数组元素,输出排好序的结果。
需要注意的是,在使用指针变量访问数组元素时要注意数组越界的问题。在本例中,我们使用了 `len-1` 和 `len-1-i` 来避免越界。
阅读全文