指针作为函数参数、指针访问数组元素01(C)

编写函数可以对任意个整型元素的数组排序,用指针实现。函数原型为 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");
}

猜你喜欢

转载自blog.csdn.net/ukco_well/article/details/82084898