#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
void swap(int*, int*);
void sort(int**, int);
int main(void)
{
int i;
int n;
//整形数组
int array[MAXSIZE];
//指针数组
int *pArray[MAXSIZE];
printf(“please enter n:\n”);
scanf("%d", &n);
for (i = 0; i < n; ++i)
{
scanf("%d", &array[i]);
pArray[i] = &array[i];
}
sort(pArray, n);
for (i = 0; i < n; ++i)
{
printf("%d\n", *pArray[i]);
}
return 0;
}
//交换
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
//排序
void sort(int **array, int n)
{
int *p;
int *q;
for (p = *array; p < *array + n; ++p)
{
for (q = p + 1; q < *array + n; ++q)
{
if (*p > *q)
{
swap(p, q);
}
}
}
}
用指向指针的方法对n个整数排序并输出。 功能:用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和 整数在主函数中输入。最后在主函数中输出。
最新推荐文章于 2024-08-19 16:33:51 发布
本文介绍了一个使用C语言实现的数组排序程序。通过定义一个整型数组和一个指向该数组元素的指针数组,程序首先接收用户输入的数组大小和元素,然后通过自定义的排序函数对数组进行排序,并将排序后的结果输出。排序算法采用了简单的冒泡排序策略,通过比较相邻元素并交换位置来实现。此程序展示了C语言中数组和指针的基本用法,以及如何通过指针操作数组元素。
摘要由CSDN通过智能技术生成