利用函数指针实现一个通用的函数,通过调用,可以实现一维数组的升序与降序。

发布网友 发布时间:2022-04-23 00:51

我来回答

1个回答

热心网友 时间:2023-10-09 14:24

#include<stdio.h>
void sx(int *,int);//升序
void jx(int *,int);//降序
void printfNums(int *,int);//打印数组
int main()
{
    int nums[]={10,15,14,16,9},n=5,*p;//n:数组个数
    p=nums;
    printf("升序排列:\n");
    sx(p,n);
    printfNums(p,n);

    printf("降序排列:\n");
    jx(p,n);
    printfNums(p,n);

    return 0;
}
void printfNums(int * p,int n)//打印数组
{
    int i;
    printf("\n");
    for(i=0;i<n;i++)
        printf("%d ",p[i]);
    printf("\n");
}
void sx(int * p,int n)//升序
{
    int i,j,num;
    for(j=0;j<=n-1;j++)
    {
        for(i=j+1;i<n;i++)
        {
            if(p[j]>p[i])
            {
                num=p[j];
                p[j]=p[i];
                p[i]=num;
            }

        }
    }
}
void jx(int * p,int n)//降序
{
    int i,j,num;
    for(j=0;j<=n-1;j++)
    {
        for(i=j+1;i<n;i++)
        {
            if(p[j]<p[i])
            {
                num=p[j];
                p[j]=p[i];
                p[i]=num;
            }

        }
    }
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com