第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

一到循環(huán)的“--”就沒思路

for (i = 8; i >= 0; i--)

{

????for (j = 0; j <= i; j++)

???????? if (arr[j]>arr[j + 1]

}?? 這段怎么理解?一共10個數(shù)。需要做9組循環(huán)比較 所以 i 取8 。每組循環(huán)里arr[j] 和arr[j+1] 做比較和交換。

我自己寫的是這個:

#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表示小數(shù)點后精確到兩位
??????? else
??????????? printf("%.2f", arr[i]);??? //%.2f表示小數(shù)點后精確到兩位
??? }
??? for(i=0; i<9; i++)
??? {
??????? for(j=i+1;j<10;j++)
??????? {
??????????? if(????? arr[i] > arr[j]????? )????? //當前面的數(shù)比后面的數(shù)大時
??????????? {
??????????????? double temp;??? //定義臨時變量temp
??????????????? temp = arr[i];???? //將前面的數(shù)賦值給temp
??????????????? arr[i] = arr[j];????????????? //前后之數(shù)顛倒位置
??????????????? arr[j] = temp;????????????? //將較大的數(shù)放在后面?? ?
??????????? }??????????????? ?
??????? }?????????????? ?
??? }
??? printf("\n************排隊后*************\n");
??? for(i=0;i<10;i++)
??? {
??????? if(i != 9)? ?
??????????? printf("%.2f, ", arr[i]);? //%.2f表示小數(shù)點后精確到兩位??? ?
??????? else
??????????? printf("%.2f", arr[i]);??? //%.2f表示小數(shù)點后精確到兩位
??? }
??? return 0;?? ?
}

正在回答

1 回答

你的方法也是正確的,只是角度不一樣。

for (i = 8; i >= 0; i--)

{

????for (j = 0; j <= i; j++)

???????? if (arr[j]>arr[j + 1]

}?

外循環(huán)每走一次排最大的到右邊,隨著外循環(huán)次數(shù)的遞增,內(nèi)循環(huán)次數(shù)減少(j <= i)


3 回復 有任何疑惑可以回復我~
#1

菜菜狠厲害 提問者

明白了
2019-08-05 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

一到循環(huán)的“--”就沒思路

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號