猿问

C语言求解答

#include <stdio.h>
int main()
{
    double arr[]={1.78, 1.77, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80};
    int i,j;
    printf("\n************排队前*************\n");
    for(i=0;i<10;i++)
    {
        if(i != 9)  
            printf("%.2f, ", arr[i]);  //%.2f表示小数点后精确到两位
        else
            printf("%.2f", arr[i]);    //%.2f表示小数点后精确到两位
    }
   
        for(j=0;j<=9;j++)
        {
            if(arr[j]>arr[j+1])      //当前面的数比后面的数大时
            {
               double temp;    //定义临时变量temp
                temp=arr[j];    //将前面的数赋值给temp
                arr[j]=arr[j+1];              //前后之数颠倒位置
                arr[j+1]=temp;    
            }
            else
            {}
        }               
   
    printf("\n************排队后*************\n");
    for(i=0;i<10;i++)
    {
        if(i != 9)  
            printf("%.2f, ", arr[i]);  //%.2f表示小数点后精确到两位    
        else
            printf("%.2f", arr[i]);    //%.2f表示小数点后精确到两位
    }
    return 0;   
}

这样为什么不是冒泡排序

群主么么哒
浏览 1401回答 2
2回答

qq___524

void bubble_sort(int a[], int n) {     int i, j, temp;     for (j = 0; j < n - 1; j++)         for (i = 0; i < n - 1 - j; i++)         {             if(a[i] > a[i + 1])             {                 temp = a[i];                 a[i] = a[i + 1];                 a[i + 1] = temp;             }         } }这是冒泡排序,两层循环

Realank刘

冒泡是两层for循环,你这个只有一层循环,一梳理了一次
随时随地看视频慕课网APP
我要回答