c语言(数组)

交换算法(将最小值换到第一位,最大值换到最后一位)

#include<stdio.h>

void main()
{  int o=0;
  int buf[10];          接收用户输入的数组
  for(;o<10;o++)
    {
      scanf("%d",&buf[o]);
    }


  int i=0,j=0,k=0,a=0,b=0;
  for(;i<10;i++)
   {
     if(j<buf[i])
     {
       j=buf[i];    得到最大值
     }                        
     if(k>buf[i])
     {
        k=buf[i];      得到最小值
     }
   }
   printf("%d %d\n",j,k);
   for(i=0;i<10;i++)
    {
       if(j==buf[i])
        {
           a=i;                        得到最大值的位置
           printf("%d\n",a);


        }
        if(k==buf[i])
        {
           b=i;  得到最小值的位置
          printf("%d\n",b);
        }


    } }
   buf[0]=buf[0]+buf[b];
   buf[b]=buf[0]-buf[b];
   buf[0]=buf[0]-buf[b];    将最小值换到第一位
   buf[9]=buf[9]+buf[a];
   buf[a]=buf[9]-buf[a];
   buf[9]=buf[9]-buf[a];   将最小值换到最后位
  for(i=0;i<10;i++)
  {
     printf("%d ",buf[i]);
  }
}

     对调算法(将数组元素对调)

    #include<stdio.h>
void main()
{
   int buf[10]={1,2,3,4,5,6,7,8,9};
   int i=0;
   for(;i<5;i++)

   {  

    buf[10]=buf[8-i];    将数组元素按最中间的元素对调

      buf[8-i]=buf[i];
      buf[i]=buf[10];

   }
   buf[10]=0;
   int j=0;
   for(;j<9;j++)
      {
        printf("%d ",buf[j]);
      }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值