yeqiyun
2020-06-01 15:30
采纳率: 100%
浏览 918

下面的程序完成对长度为N的整型数组a进行从小到大的排序。请分别用选择排序法、冒泡排序法完成函数sort。

下面的程序完成对长度为N的整型数组a进行从小到大的排序。请分别用选择排序法、冒泡排序法完成函数sort。
#include
#define N 10


void main()
{ int a[N],i;
printf("Input %d numbers:\n",N);
for(i=0;i<N;i++) /* 从键盘输入数组a的N个元素 /
scanf("%d",&a[i]);
sort(a,N); /
排序 */
printf("The sorted numbers:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • blownewbee 2020-06-01 17:53
    已采纳
    #include <stdio.h>
    #define N 10
    void sort(int *a,int N)
    {
    for (int i = 0; i < N - 1; i++)
    {
    int min = i;
    for (int j = i + 1; j < N; j++) if (a[min] > a[j]) min = j;
    int t = a[min]; a[min]=a[i];a[i] =t;
    }
    }
    
    void main()
    { int a[N],i;
    printf("Input %d numbers:\n",N);
    for(i=0;i<N;i++) /* 从键盘输入数组a的N个元素 /
    scanf("%d",&a[i]);
    sort(a,N); / 排序 */
    printf("The sorted numbers:\n");
    for(i=0;i<N;i++)
    printf("%4d ",a[i]);
    }
    

    如果问题得到解决的话,请点下采纳,包括之前的问题。

    点赞 评论
  • 喜欢喝茶的猫 2020-06-01 15:33
    点赞 评论
  • 小学狗喵喵叫 2020-06-01 17:36
    void maopaosort(int a[], int num)
    {
        for(int i=0;i<num-1;i++)
        {
            bool flag=true;
            for(int j=0;j<num-i-1;j++)
            {
                if(a[j]>a[j+1])
                {
                    int tmp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=tmp;
                    flag=false;
                }
            }
            if(flag)
                break;
        }
    }
    
    void xuanzesort(int a[],int num)
    {
        for(int i=0;i<num-1;i++)
        {
            int min_pos=i;
            for(int j=i+1;j<num;j++)
            {
                if(a[min_pos]>a[j])
                {
                    min_pos=j;
                }
            }
            if(min_pos!=i)
            {
                int tmp=a[i];
                a[i]=a[min_pos];
                a[min_pos]=tmp;
            }
        }
    }
    
    点赞 评论

相关推荐 更多相似问题