习题 8.21 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。

C程序设计(第四版) 谭浩强 习题8.21 个人设计

习题 8.21 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。

代码块:

#include <stdio.h>
#include <stdlib.h>
void sort(int *s[10], int n);        //定义排序函数
int main()
{
    int *num[10], **p, i;
    for (i=0; i<10; num[i++]=(int *)malloc(4*sizeof(int)));                            //为数组分配空间
    for (p=num, printf("Please enter 10 numbers: "); p<num+10; scanf("%d", *p++));     //输入10个整数
    sort(num, 10);                                                                     //调用排序函数
    for (p=num, printf("Sort by: "); p<num+10; printf("%d ", **p++));                  //输出排序后的10个整数
    printf("\n");
    return 0;
}
//排序函数
void sort(int *s[10], int n)
{
    int i, j, t;
    for (i=0; i<n; i++)
        for (j=i+1; j<n; *s[i]>*s[j] ? t=*s[i], *s[i]=*s[j], *s[j]=t, j++ : j++);
}

猜你喜欢

转载自blog.csdn.net/navicheung/article/details/79449453