在主函数中输入10个未排序的整数存入数组,通过指针法设计函数hanshu(
时间: 2024-03-17 19:47:21 浏览: 74
你可以使用以下代码来实现:
```
#include <stdio.h>
#define SIZE 10
void hanshu(int *p, int size) {
int temp;
// 冒泡排序
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (*(p + j) > *(p + j + 1)) {
temp = *(p + j);
*(p + j) = *(p + j + 1);
*(p + j + 1) = temp;
}
}
}
}
int main() {
int arr[SIZE];
int *p = arr; // 定义指向数组的指针
printf("请输入%d个整数:\n", SIZE);
// 通过指针访问数组元素,存储用户输入的整数
for (int i = 0; i < SIZE; i++) {
scanf("%d", p + i);
}
// 调用函数进行排序
hanshu(p, SIZE);
// 输出排序后的数组中的元素
printf("排序后的数组中的元素为:\n");
for (int i = 0; i < SIZE; i++) {
printf("%d ", *(p + i));
}
printf("\n");
return 0;
}
```
这段代码中,定义了一个大小为10的整型数组`arr`和一个指向数组的指针`p`。在主函数中,通过`scanf`函数将用户输入的整数存储在数组中,通过指针访问数组元素实现。然后,调用函数`hanshu`对数组进行排序,排序算法使用的是冒泡排序。最后,使用指针访问数组元素并输出排序后的数组中的元素。
阅读全文