C语言作业,编写一个程序完成以下八个数字的从小到大排序。(10.3.6.12.7.8.5.4)。

C语言作业,编写一个程序完成以下八个数字的从小到大排序。(10.3.6.12.7.8.5.4)。求大神帮助

#include <stdio.h>
//冒泡排序(升序)
void bubble_sort(int a[],int n)
{
    int i,j;  //j表示趟数,i表示每i趟两两比较的次数
    int tmp; //临时变量
    for(j=0;j<n-1;j++)
        for(i=0;i<n-1-j;i++)
        {
            if(a[i] > a[i+1])
            {
                tmp=a[i];
                a[i]=a[i+1];
                a[i+1]=tmp;
            }
        }
}
int main()
{
int a[8]={10,3,6,12,7,8,5,4};
bubble_sort(a,8);
for(int i=0;i<8;i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}

运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-30
#include<stdio.h>
void sorted(int a[],int n){ //选择法排序 小->大
    int i,j,k,t;
    for(i=0;i<n-1;i++){
        k=i;
        for(j=i+1;j<n;j++){
            if(a[k]>a[j])k=j;} 
        if(k!=i){t=a[k];a[k]=a[i];a[i]=t;}}
}
int main(){
    int n=8,i;
    int a[]={10,3,6,12,7,8,5,4};
    printf("排序前的数组:");
    for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");      
    sorted(a,n);printf("排序后的数组:");
    for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");    
    return 0;
}

追问

是从小到大排序么

还有那个排序前和排序后是怎么填

😓

追答

你运行一下程序看看不就知道啦

追问

谢谢

本回答被提问者采纳