亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

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(i=8;?i>=0;?i--)
????{
????????for(j=0;j<=i;j++)
????????{
????????????if(?????????????)??????//當前面的數比后面的數大時
????????????{
????????????????double?temp;????//定義臨時變量temp
??????????????????????//將前面的數賦值給temp
???????????????????????????????//前后之數顛倒位置
???????????????????????????????//將較大的數放在后面????
????????????}?????????????????
????????}????????????????
????}
????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;????
}
中的for(i=8;?i>=0;?i--)不太懂?是什么意思


正在回答

3 回答

for(i=8;i>=0;i--)? //控制每趟比較的最大下標

使得每次得到的較大的數不用再與較小的數比較

0 回復 有任何疑惑可以回復我~

#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(i=8; i>=0; i--)? //
??? {
??????? for(j=0;j<=i;j++)
??????? {
??????????? if(????? arr[j]>arr[j+1]????? )????? //當前面的數比后面的數大時
??????????? {
??????????????? double temp;??? //定義臨時變量temp
??????????????? temp=arr[j];???? //將前面的數賦值給temp
??????????????? arr[j]=arr[j+1];????????????? //前后之數顛倒位置
??????????????? arr[j+1]=temp;????????????? //將較大的數放在后面?? ?
??????????? }??????????????? ?
??????? }?????????????? ?
??? }
??? 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;?? ?
}

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

/*先解釋i=8; ??? 數組總共有10個元素? ? 數組下標最大是9 “arr[j]>arr[j+1]”比較前后2數的大小? 又“j<=i”所以“j”最大為8 “j+1”最大為9

開始i=8;? i 大于0?? 然后執行? for循環里的語句 ;語句都執行完,然后 i 自減1 i=7;? 這樣循環? 當i=0 自減1過后 跳出循環

*/

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

c語言問題求解答

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號