C语言一维数组的最大值和最小值依次放入一个新的数组中,依次类推

C语言一维数组的最大值和最小值依次放入一个新的数组中,依次类推,第1张

#include
#define N 9
void fun(int a[],int n)
{
    int i,j,max,min,px,pn,t;
    for(i=0;i     {
        max=min=a[i];//求最大值和最小值
        px=pn=i;//记录数组下标的位置
        for(j=i+1;j         {
            if(max             {
                max=a[j];//满足条件替换
                px=j;//同时数组下标也替换
            }
            if(min>a[j])//后一个数与min作比较
            {
                min=a[j];//满足条件替换
                pn=j;
            }
        }
        if(px!=i)//判断px是不是等于第一个最大值数字的地址
        {
            t=a[i];//相当于每一个项数
            a[i]=max;//符合条件就替换大for定义的第一个数组的数
            a[px]=t;
            if(pn==i)//如果最小值和开始定义的数相同,那么它就是最小的数
                pn=px;
        }
        if(pn!=i+1)//同理,这是最小值的判断情况
        {
            t=a[i+1];
            a[i+1]=min;
            a[pn]=t;
        }
    }
}
void main()
{
    int b[N]={1,4,2,3,9,6,5,8,7},i;
    printf("\n输入:\n");
    for(i=0;i         printf("%4d",b[i]);//输入数组
    printf("\n");
    fun(b,N);//调用fun函数
    printf("\n输出:\n");
    for(i=0;i         printf("%4d",b[i]);
    printf("\n");
}


 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/707194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存