#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************排隊(duì)前*************\n");? ? for(i=0;i<10;i++)? ? {? ? ? ? if(i != 9) ??? ? ? ? ? ? printf("%.2f, ", arr[i]); ?//%.2f表示小數(shù)點(diǎn)后精確到兩位? ? ? ? else? ? ? ? ? ? printf("%.2f", arr[i]); ? ?//%.2f表示小數(shù)點(diǎn)后精確到兩位? ? }? ? for(i=9; i>=0; i--)? ? {? ? ? ? for(j=0;j<=i;j++)? ? ? ? {? ? ? ? ? ? if( ? ? ?arr[j]>arr[i] ? ? ?) ? ? ?//當(dāng)前面的數(shù)比后面的數(shù)大時(shí)? ? ? ? ? ? {? ? ? ? ? ? ? ? double temp; ? ?//定義臨時(shí)變量temp? ? ? ? ? ? ? ? temp=arr[j]; ? ? //將前面的數(shù)賦值給temp? ? ? ? ? ? ? ? arr[j]=arr[i]; ? ? ? ? ? ? ?//前后之?dāng)?shù)顛倒位置? ? ? ? ? ? ? ? arr[i]=temp; ? ? ? ? ? ? ?//將較大的數(shù)放在后面 ? ?? ? ? ? ? ? } ? ? ? ? ? ? ? ??? ? ? ? } ? ? ? ? ? ? ? ?? ? }? ? printf("\n************排隊(duì)后*************\n");? ? for(i=0;i<10;i++)? ? {? ? ? ? if(i != 9) ??? ? ? ? ? ? printf("%.2f, ", arr[i]); ?//%.2f表示小數(shù)點(diǎn)后精確到兩位 ? ??? ? ? ? else? ? ? ? ? ? printf("%.2f", arr[i]); ? ?//%.2f表示小數(shù)點(diǎn)后精確到兩位? ? }? ? return 0; ? ?}這樣代碼的排序合理么?是不是不算是冒泡
- 1 回答
- 0 關(guān)注
- 1182 瀏覽
添加回答
舉報(bào)
0/150
提交
取消