各位大神,為什么這個代碼輸出結果最后一個是82呢?輸出結果98 91 82 81 79 75 67 66 63 82
#include <stdio.h>
int main()
{
??? int score[9]={67,98,75,63,82,79,81,91,66,84};
??? int i;
??? int j;
??? for(i=8;i>0;i--)
??? {
??????? for(j=0;j<=i;j++)
??????? {
??????????? if(score[j]<score[j+1])
??????????? {
??????????????? int mid;
??????????????? mid=score[j];
??????????????? score[j]=score[j+1];
??????????????? score[j+1]=mid;
??????????? }
??????? }
??? }
??? for(i=0;i<10;i++)
??? {
??????? printf("%d\n",score[i]);
??? }
??? return 0;
}
2016-11-02
#include <stdio.h>
int main()
{
??? int score[10]={67,98,75,63,82,79,81,91,66,84};? //數組定義長度應該大于或者等于數組的數字個數
??? int i;
??? int j;
??? for(i=8;i>0;i--)
??? {
??????? for(j=0;j<=i;j++)
??????? {
??????????? if(score[j]<score[j+1])
??????????? {
??????????????? int mid;
??????????????? mid=score[j];
??????????????? score[j]=score[j+1];
??????????????? score[j+1]=mid;
??????????? }
??????? }
??? }
??? for(i=0;i<10;i++)
??? {
??????? printf("%d\n",score[i]);
??? }
??? return 0;
}
?
2016-01-23
把score[] 里的84去掉,然后再把第一個for循環里的 i = 8 改成 7
2016-01-07
首先 你的數組 聲明就錯了 int x[n] ?這里的n應該是一共多少個內容 10個 就應該 n=10;
其次 你的i比較次數 應該等于9 ?因為每個都要比較的話應該9次 ,這兩個地方改了以后就對了 ?我說的術語不太正確
但是答案是對的