编程在main函数中定义数组(长度自定),用scanf进行数组的初始化,调用函数进行从大到小排序

编写排序函数voidselectSort(int*array,intn),它的功能是利用选择法实现数组元素从大到小的排序,voidbubbleSort(int*array... 编写排序函数void selectSort(int *array,int n),它的功能是利用选择法实现数组元素从大到小的排序,void bubbleSort(int*array,int n),它的功能是利用冒泡法实现数组元素从小到大的排序,主函数中先调用selectSort进行排序,在调用bubbleSort排序(大神救命,刚学C语言,不会写啊) 展开
 我来答
fallx
2018-06-07 · TA获得超过5485个赞
知道大有可为答主
回答量:2321
采纳率:73%
帮助的人:724万
展开全部
#include <stdio.h>

#define N 5 //数组长度

void SelectSort(int *array , int length)/*对记录数组r做简单选择排序,length为待排序记录的个数*/
{
    int temp,k;
    int i,j; 
    for (i=0 ; i< length-1 ; ++i)//n-1趟排序
    {
        k=i;
        for (j=i+1;j < length;++j)
            if (array[j] > array[k] )//降序
                k=j;
        if ( k!=i)//若无序区第一个元素不是无序区中最小元素,则进行交换
        {   
            temp=array[i];
            array[i]=array[k];
            array[k]=temp;
        }
      
    }
}

void Bubble(int *array, int length)  //对长度为n的整数数组a进行冒泡排序
{  
      int i,j,t;
      for(i=0;i<length-1;i++)
        for(j=i+1;j<length;j++)
        {
          if(array[j]<array[i])//升序
          {
            t=array[j];
            array[j]=array[i];
            array[i]=t;
          }
        }
}  
int main() { 
  
  int arr[N],i;
 
  for(i=0;i<N;++i){
    scanf("%d",&arr[i]);//输入数据
  }  
  SelectSort(arr,N);
  for(i=0;i<N;++i)
  {
      printf("%d ",arr[i]);
  }
  Bubble(arr,N);
  printf("\n");
  for(i=0;i<N;++i)
  {
      printf("%d ",arr[i]);
  }
  printf("\n");
  return 0;

  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式