c语言 利用冒泡法函数完成数组数据排序

完成数据的剩序排列,数组定义大小为5个

例如输入数据: 8 3 7 4 2

输出数据为:2 3 4 7 8

有没有知道这个怎么写的呀 目前还没有头绪😢

代码如下:

#include<stdio.h>
#include<stdlib.h>
 
void sort(int a[],int len)
{
    for(int j=0;j<len-1;j++)
    {
        for(int i=j+1;i<len;i++)
        {
            if (a[j]>a[i])
            {
                int temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
}
 
int main()
{
    int i;
    int a[5] = {0};
    for(i = 0;i<5;i++){
        scanf("%d",&a[i]);
    }
    sort(a,5);
    for(i=0;i<5;i++)//输出排序后的数组
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    return 0;
}
 
 


#include <stdio.h>
int main()
{
    int arr[10] = {8,3,7,4,2};
    for (int i = 0; i < 5 - 1; i++)
    {
        for (int j = 0; j < 5 - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int temp = 0;
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 5; i++)
    {
        printf("%d ",arr[i]);
    }


    return 0;
}

对问题进行了简化,希望采纳


#include <stdio.h>

int main(void) { 
    printf("test");
    arr=[45,23,34,6,12,20]
    for (int i=1;i<arr.length;i++){
        for(int j=0;j<arr.length-1;j++)
    {
        if(arr[i]>arr[j]){
            temp =arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    }
        
    }
}