编写函数可以对任意个整型元素的数组排序,用指针实现。函数原型为 sort(int *p, int n),其中 n 为需要排序的元素个数
/*===================================
*作业:E61
*学号:1527403059
*作者:陆胤任
*功能:对任意个整型元素的数组排序,用指针实现
*时间:2015.12.21
*=================================*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
/*function declare
@brief:对任意个整型元素的数组排序,用指针实现
@param:*p:指针
n:数组长度
@reveal:void*/
void sort(int *p,int n); //声明void sort(int *p,int n)函数
/*function define*/
int main()
{
int *arry,n;
printf("请输入数组长度:\n");
scanf("%d",&n); //输入数组长度
arry=(int*)malloc(sizeof(int)*n);
sort(arry,n); //调用函数
return 0;
}
void sort(int *p,int n) //定义void sort(int *p,int n)函数
{
int i,j;
int temp;
srand((unsigned)time(NULL)); //随机初始化数组
for(i=0;i<n;i++)
{
p[i]=rand()%100;
}
printf("原数组为:\n"); //输出原随机初始化的数组
{
printf("%5d",p[i]);
}
for(i=0;i<n-1;i++) //循环对数组进行排序
{
for(j=i+1;j<n;j++)
{
if(p[i]>p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
printf("\n排序后的数组为:\n"); //输出排序后的数组
for(i=0;i<n;i++)
{
printf("%5d",p[i]);
}
printf("\n");
}