用指针对n个数进行排序怎么弄?

 用函数实现,用指针对n个数排序

吃素的大灰狼
浏览 1648回答 1
1回答

0puppy0

 int main(){    int * number;    int * head;     int length;     int i;    int temp;    int j;     printf("please input n (how many numbers):\n");    scanf("%d",&length);         head=number=(int *)malloc(length*sizeof(int));    if(number==NULL)    {        printf("allocation fail\n");        exit(1);    }    else    {        printf("allocation success\n");    }     printf("\n");    for(i=0;i<length;i++)    {        printf("please input %d number:\n",i+1);        scanf("%d",&temp);        *number=temp;        number++;    }         number=head;    printf("\n");     for(i=0;i<length;i++)    {        printf("%d number is:%d\n",i+1,*number);        number++;    }    number=head;    printf("\n");         for(i=0;i<length;i++)    {        for(j=0;j<length-i-1;j++)        {            if(*(number+j)>*(number+j+1))            {                temp=*(number+j+1);                *(number+j+1)=*(number+j);                *(number+j)=temp;            }        }    }     number=head;    printf("after sort:\n");    for(i=0;i<length;i++)    {        printf("%d  ",*number);        number++;    }    printf("\n");     free(head);     return 0;}   
打开App,查看更多内容
随时随地看视频慕课网APP